«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.

4
Değişmez nesneleri kullanırken çoğu tavuk ve yumurta problemini çözmek için uygulanabilecek belirli bir tasarım stratejisi var mı?
Bir OOP geçmişinden (Java) geliyor, kendi başıma Scala öğreniyorum. Değişken nesneleri tek tek kullanmanın avantajlarını kolayca görebilsem de, birinin böyle bir uygulamanın tamamını nasıl tasarlayabildiğini görmekte zorlanıyorum. Bir örnek vereceğim: Diyelim ki su ve buz gibi "materyalleri" ve onların özelliklerini temsil eden nesnelerim var (bir oyun tasarlıyorum, bu yüzden gerçekten …

8
“Buna ihtiyacınız olmayacak” ve “Şimdi hiç olmadığı kadar iyi” birlikte nasıl oynar?
Bir tasarımın KURU halini ilerlettiğimde kendimi “şimdi hiç olmadığı kadar iyi” kucaklarken sık sık bulurum. Tipik olarak, diğer bilgi parçaları sistemi bağlamında bir bilgi parçası için Tek Yetkili Konum hakkında bir anlayış geliştirmem gerektiğini buluyorum. Böylece sistemi 'şimdi' tasarlama eğilimindeyim. Tersine, bu uygulama İhtiyacım Olmayacağı makul bir şansa rağmen, oldukça …

6
Bir polimorfik sınıf için nasıl GUI yaparsınız?
Diyelim ki bir test oluşturucum var, böylece öğretmenler bir test için bir grup soru oluşturabilirler. Ancak, tüm sorular aynı değildir: Çoktan seçmeli, metin kutusu, eşleştirme vb. Var. Bu soru türlerinin her birinin farklı veri türlerini depolaması ve hem içerik oluşturucu hem de test katılımcı için farklı bir GUI'ye ihtiyacı vardır. …

6
Numaralandırmalar ne zaman bir kod kokusu DEĞİLDİR?
İkilem Nesneye yönelik uygulamalar hakkında birçok iyi uygulama kitabı okudum ve okuduğum hemen hemen her kitabın, numaraların kod kokusu olduğunu söyledikleri bir parçası vardı. Sanırım sayılar geçerli olduğunda açıkladıkları kısmı kaçırmışlar. Gibi, enums bir kod kokusu DEĞİL ve aslında geçerli bir yapı DEĞİL yönergeleri ve / veya kullanım durumları arıyorum …

4
Enjeksiyon bağımlılıkları ctorda mı yoksa yöntem başına mı yapılmalıdır?
Düşünmek: public class CtorInjectionExample { public CtorInjectionExample(ISomeRepository SomeRepositoryIn, IOtherRepository OtherRepositoryIn) { this._someRepository = SomeRepositoryIn; this._otherRepository = OtherRepositoryIn; } public void SomeMethod() { //use this._someRepository } public void OtherMethod() { //use this._otherRepository } } karşısında: public class MethodInjectionExample { public MethodInjectionExample() { } public void SomeMethod(ISomeRepository SomeRepositoryIn) { //use SomeRepositoryIn } …

4
Tamamen statik sınıflara sahip olmak kötü bir fikir mi?
Daha büyük bir solo proje üzerinde çalışıyorum ve şu anda bir örnek oluşturmak için herhangi bir neden göremediğim birkaç dersim var. Örneğin, şu anda zar sınıfım tüm verilerini statik olarak saklar ve tüm yöntemleri de statiktir. İlklendirmem gerekmiyor çünkü zar atmak ve yeni bir değer elde etmek istediğimde, sadece kullanıyorum …

4
Programlama tasarım desenlerini kavrayamıyorum
Son 4 yıldır javascript ile çalışıyorum. Sorun çözme becerilerimden çok eminim ve kod kalitemizin iyileştiğini görebiliyorum. Toplulukla güncel kalmaya çalışıyorum ve şu anda ES2015 ve React.js ile çalışıyorum. Ancak, programlama tasarım modellerini hiç anlayamıyorum gibi hissediyorum. Bununla ilgili kaynakları nerede bulacağımı biliyorum ve bu konuda zaten kitap okudum. Proje yapısı …

1
Ziyaretçi Desenini Anlama
GUI denetimlerini temsil eden bir sınıflar hiyerarşisi var. Bunun gibi bir şey: Control->ContainerControl->Form Çeşitli şeyler yapan nesnelerle çalışan bir dizi algoritma uygulamak zorundayım ve Ziyaretçi deseninin en temiz çözüm olacağını düşünüyorum. Örneğin, bir nesne hiyerarşisinin Xml temsilini oluşturan bir algoritmayı ele alalım. 'Klasik' yaklaşımını kullanarak şunu yaparım: public abstract class …


14
Kalıtımın yararını nasıl açıklayabilirim? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Yanıtların gerçekler, referanslar veya uzmanlık tarafından desteklenmesini bekliyoruz, ancak bu soru muhtemelen tartışma, tartışma, oylama veya genişletilmiş tartışma talep edecektir. Bu sorunun çözülebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, yardım için yardım merkezini ziyaret edin . 6 yıl önce kapalı . …


4
Örüntü tabanlı programlama nedir?
Birisi programlamadaki saplantılar ve anti-kalıplarla takıntıyı açıklayabilir mi? Soruyorum çünkü kalıplardan herhangi birinin ne anlama geldiğine dair hiçbir fikrim yok. Bir programlama göreviyle karşı karşıya kaldığımda sorunu biraz düşünüyorum, alakalı olacağını düşündüğüm bazı veri yapılarını yazın, bir çözümü prototipleyin, bazı modülleri ayırın ve tekrarlayın. Sürecin hiçbir yerinde "Oh, burada FunkyLookyTastic …

10
GoF Tasarım Desenleri - aslında hangilerini kullanıyorsunuz? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Yanıtların gerçekler, referanslar veya uzmanlık tarafından desteklenmesini bekliyoruz, ancak bu soru muhtemelen tartışma, tartışma, oylama veya genişletilmiş tartışma talep edecektir. Bu sorunun çözülebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, yardım için yardım merkezini ziyaret edin . 7 yıl önce kapalı . …

3
Tasarım desenlerini öğrenmek için önerilen sipariş? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 6 yıl önce kapalı . Oradaki tasarım kalıplarının miktarını fark edemem. Onları öğrenmem gereken bir siparişle ilgili önerileriniz var mı? Yoksa rastgele …

2
Hesaplama mantığını bir Türe veya İş Katmanına koymalı mıyım?
Son zamanlarda, Varlık katmanına basit bir hesaplamanın yapılması veya Varlığın yalnızca ham verileri depolamak ve hesaplama mantığını iş katmanında bırakmak için saf olup olmadığı konusunda bir soru ile karşı karşıya kaldım. Benim sorum, bir varlık sınıfındaki özelliklerde basit hesaplamaları kapsüllemenin mantıklı olup olmadığıdır.

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.