«design-patterns» etiketlenmiş sorular

Tasarım deseni, yazılım tasarımında sık karşılaşılan bir sorunun genel yeniden kullanılabilir çözümüdür.


3
“Serbest fonksiyonlar” ı temiz bir şekilde işlemek için C # deseni, Yardımcı tarzı “yardımcı torba” statik sınıflarından kaçınmak
Son zamanlarda birlikte çalıştığım bazı büyük C # kod tabanları etrafında yüzen birkaç Yardımcı tarzı "yarar çanta" statik sınıfları inceliyordu, temelde aşağıdaki çok yoğun snippet gibi şeyler: // Helpers.cs public static class Helpers { public static void DoSomething() {} public static void DoSomethingElse() {} } İncelediğim belirli yöntemler çoğunlukla birbiriyle …

3
Bir dosyanın başlangıcında yalnızca sonunda bildiğiniz bir şeyi yazma
Arka plan: EBML dosyası yazmak için mikro kontrolör C kodu yazıyorum. EBML, iç içe öğelere sahip bir ikili XML gibidir, ancak başlangıç ​​ve bitiş etiketleri yerine bir başlangıç ​​kimliği, uzunluğu ve ardından veriler vardır. Bunu düşük güçlü bir uygulamada harici Flash'a yazıyorum, bu yüzden flaş erişimini minimumda tutmak istiyorum. Bellek …

4
Etki alanı merkezli karmaşık bir uygulamada temel CRUD işlemlerine DDD yaklaşımı
Şirketim web uygulamamızı sıfırdan yeniden yazıyor. Finans sektöründe karmaşık bir alana sahip büyük bir kurumsal düzeyde uygulamadır. Kalıcılık için ORM (Varlık çerçevesi) kullanıyoruz. Temel olarak, uygulamalarımızın yarısı kullanıcıdan ham veri toplama, depolama ve ardından gerçek alan mantığımızın çoğunu içeren uygulamanın diğer yarısı, bu orijinal verilerden, orijinalinden çok farklı olan alan …

1
İş mantığı ve Hizmet katmanı
Bu cevabı okudum: https://softwareengineering.stackexchange.com/a/234254/173318 lütfen anlayışımı düzeltin. İş kuralları , gerçek dünyada iş adımlarının listesini ifade eder (kod yok). İş Mantığı , iş kurallarını kodlara dönüştürme sürecini ve bu grup / tür kodlarını "İş mantığı" olarak adlandırılan süreci ifade eder. Hizmet katmanı ne için kullanılır? bu cevabı okursam, iş mantığı …

2
Yineleyiciyi Tasarım Deseni Yapan Nedir?
Iterator'ı diğer benzer yapılara kıyasla özel kılan şeyin ne olduğunu merak ediyorum ve bu da Dörtlü Çeteyi bir tasarım deseni olarak listeledi. Yineleyici polimorfizme (ortak bir arayüze sahip koleksiyonlar hiyerarşisi) ve endişelerin ayrılmasına (koleksiyonlar üzerinde yineleme, verilerin yapılandırılma biçiminden bağımsız olmalıdır) dayanmaktadır. Ancak, koleksiyonlar hiyerarşisini, örneğin, güç nesneleri gibi bu …

4
Sınırlı bir bağlamın sınırlarını açıkça tanımlama
DDD'yi okuduktan ve araştırdıktan bir ay kadar sonra, kendi projemi başlatmaya karar verdim ve bu sınırlı bağlamlarla DDD oluşturdum> Müşteriler Ürün:% s Emirler fatura Sınırlı her içerik, sunum katmanı, etki alanı katmanı, kalıcı katman olarak dinlenme API'sine sahiptir. Şimdiye kadar iyi, kod düzgün çalışıyor, ancak yekpare bir dünyadan geliyor, hala …


1
Komut nesnelerini doğru alıcıyla nasıl ilişkilendirebilirim?
Projemde Geri Al ve Yinele'yi uygulamak için Komut Deseni kullanmaya çalıştım public abstract class Command { protected Form Receiver { set; get; } protected HtmlElement Element { set; get; } abstract public void ReDo(); abstract public void UnDo(); public Command(Form receiver) { this.Receiver = receiver; } } class AddElementCmd : …

1
Etkinlik kaynağı yalnızca yazma işlemleri nadir olduğunda mı yapılır?
Ben olay kaynak okuma okuyorum ve kendime sadece yazma çok nadir veya askeri düzeyde denetim gerekli egzotik durumlarda mantıklı olup olmadığını sormak durduramaz. Önemli bir kullanımı olan istisnai olmayan bir sistem, günde yüzlerce ila binlerce yazma üretebilir, örneğin yılda bir milyon veya 2 yazma (dolayısıyla olaylar) anlamına gelir. Mevcut durumu …

8
Veritabanındaki hatalı null girişlere karşı koruma sağlayan tasarımlar ve uygulamalar
Programımın bir kısmı, veritabanımdaki birçok tablo ve sütundaki verileri işlenmek üzere alıyor. Sütunlardan bazıları olabilir null, ancak geçerli işleme bağlamında bu bir hatadır. Bu "teorik olarak" olmamalıdır, bu yüzden eğer kötü veriler veya koddaki bir hataya işaret eder. Hangi alanın olduğuna bağlı olarak hataların farklı önem dereceleri vardır null; yani …

5
Soyutlamalara bağlı olmanın önemli dezavantajları var mı?
Bu vikiyi Kararlı Soyutlamalar Prensibi (SAP) üzerine okuyordum . SAP, bir paket ne kadar kararlı olursa o kadar soyut olacağını belirtiyor. Bu, bir paket daha az kararlıysa (değişme olasılığı daha yüksekse) daha somut olması gerektiği anlamına gelir. Gerçekten anlamadığım şey, durumun neden böyle olması gerektiğidir. Elbette istikrardan bağımsız olarak her …


4
Bir hiyerarşiyi zorlamadan birbirleriyle etkileşimde bulunan ve iletişim kuran nesneleri nasıl alabilirim?
Umarım bu haydutlar sorumu açıklığa kavuşturacaklardır - yine de alışkanlık olup olmadıklarını tamamen anlarım, bu yüzden durumun bu olup olmadığını bana bildirin ve kendimi daha net hale getirmeye çalışacağım. Nesne yönelimli oyun geliştirme ile tanışmak için yaptığım çok basit bir oyun olan BoxPong ile tanışın . Topu kontrol etmek ve …

1
“Akı” ve saf fonksiyonel reaktif programlama arasındaki ilişki nedir?
Flux, anladığım kadarıyla, bir uygulamanın veri akışını tek yönlü olarak ele alma, programın geri kalanından izole edilen durumu, dinleyerek kendi durumunu değiştirebilen salt okunur, bağımsız "mağazalarda" tutma konusunda bir tekniktir. görünümler tarafından yayılan ve dağıtım programları tarafından gönderilen "eylemler". Veya kısaca - durumu kontrol etmenin bir yolu. Bu doğruysa, Fonksiyonel …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.