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

13
Yani Singletons kötü, o zaman ne?
Son zamanlarda Singletons kullanma (ve aşırı kullanma) problemleri hakkında çok fazla tartışma yapıldı. Daha önce de kariyerimde o insanlardan biriydim. Şimdi sorunun ne olduğunu görebiliyorum ve yine de hoş bir alternatif göremediğim birçok durum var - ve Singleton karşıtı tartışmaların çoğu gerçekten bir tane sağlamıyor. İşte katıldığım son bir büyük …

12
“İş mantığı modelde değil hizmette olmalı” ne kadar doğrudur?
Durum Bu akşamın erken saatlerinde StackOverflow ile ilgili bir soruya cevap verdim . Soru: Mevcut bir nesnenin düzenlenmesi havuz katında mı yoksa hizmette mi yapılmalı? Örneğin, borcu olan bir kullanıcı varsa. Borcunu değiştirmek istiyorum. Bunu UserRepository'de veya serviste yapmalı mıyım, örneğin BuyingService'i bir nesne alarak, düzenleyerek ve kaydederek mi yapmalıyım? …

17
Küresel Devlet neden bu kadar kötü?
Buna başlamadan önce, Soyutlama ve Bağımlılık Enjeksiyonu kavramlarının farkında olduğumu söylememe izin verin. Burada gözlerimin açılmasına ihtiyacım yok. Pek çoğumuz, (pek çok kez) “Global değişkenleri kullanma” ya da “Singletonlar kötüdür, çünkü küreseldirler” anlamış olmadan defalarca. Ama gerçekten neyi olduğunu uğursuz küresel durumu hakkında çok kötü? Uygulamam için, örneğin sistem klasörü …


18
Kişi binlerce… EŞİNDEN… ELSE kurallarını nasıl yönetebilir?
Özünde binlerce, eğer ... sonra ... başka ifadelerden oluşan bir uygulama inşa etmeyi düşünüyorum. Uygulamanın amacı, ineklerin herhangi bir ortamda nasıl hareket ettiklerini tahmin edebilmektir. Güneş, rüzgar, besin kaynağı, ani olaylar vb. Durumlardan etkilenirler. Böyle bir uygulama nasıl yönetilebilir? Birkaç IF ifadesinden sonra, programın nasıl tepki vereceği ve belirli bir …

16
Patronum benden küçük fonksiyonlar yazmamı ve her şeyi aynı döngüde yapmamı istedi.
Robert C. Martin tarafından Temiz Kod adlı bir kitap okudum . Bu kitapta, küçük işlevler yazmak, adları dikkatlice seçmek, vb. Gibi kodları temizlemek için birçok yöntem gördüm. Ancak bugün patronum bu kitabı okuduktan sonra kod yazmamı sevmedi. Argümanları vardı Küçük fonksiyonlar yazmak acı vericidir, çünkü kodun ne yaptığını görmek için …

10
Çağrı zincirinin derinliklerinde sadece birkaç seviye kullanılacak olan geçme parametrelerinin (anti-) modeli için bir isim var mı?
Bazı eski kodlarda global değişkenin kullanımına alternatifler bulmaya çalışıyordum. Ancak bu soru teknik alternatifler ile ilgili değil, ben çoğunlukla terminoloji konusunda endişeliyim . Açık bir çözüm, global kullanmak yerine bir parametreyi işleve aktarmaktır. Bu eski kod tabanında, uzun çağrı zincirindeki tüm işlevlerin, değerin sonunda kullanılacağı nokta ile önce parametreyi alan …

10
Tasarım desenlerinde neden bu kadar çok sınıfa ihtiyacımız var?
Ben yaşlılar arasında küçük geliştiriciyim ve onların düşüncelerini ve akıl yürütmelerini anlama konusunda çok zorlanıyorum. Domain Driven Design (DDD) okuyorum ve neden bu kadar çok sınıf oluşturmamız gerektiğini anlamıyorum. Bu yazılım tasarım yöntemini takip edersek, en fazla iki dosya ve 3-4 işlevle değiştirilebilen 20-30 sınıfla bitiririz. Evet, bu karışık olabilir, …

14
“Asla kodda yapmayın, SQL server'ın sizin için iyi yapabileceği şeyler” - Bu kötü bir tasarım için bir tarif mi?
Bir kaç yerde tekrar tekrar duyduğum bir fikir. Bir ya da daha az, bir keresinde tamamen SQL'deki bir problemi çözmeye çalışmanın belirli bir karmaşıklık seviyesini aştığını kabul etmek, gerçekten de kodla başa çıkmanız gerektiğini kabul eder. Bu fikrin ardındaki mantık, çoğu durumda, veritabanı motorunun, görevinizi tamamlamanın en etkili yolunu bulmak …

10
Gerçekten de MVC nedir?
Ciddi bir programcı olarak, MVC nedir sorusuna nasıl cevap veriyorsunuz ? Aklımda, MVC çok kötü bir konudur - ve bu nedenle, eğer izleyicileriniz bir öğreniciyse, tartışmalı olması muhtemel olmayan genel terimlerle tarif etmekte özgürsünüz. Ancak, bilgili bir kitleyle, özellikle de bir görüşmeci ile konuşuyorsanız, "doğru bir şey değil! ..." tepkisini …

9
Doğrudan nesne yapımı yerine neden fabrika sınıfı kullanmalıyım?
GitHub ve CodePlex'te birçok С # ve Java sınıfı kütüphane projesinin tarihini gördüm ve doğrudan nesne örneklemesinin aksine fabrika sınıflarına geçme eğiliminde olduğumu görüyorum. Fabrika sınıflarını neden yoğun kullanmalıyım? Nesnelerin eski moda yöntemlerle yaratıldığı oldukça iyi bir kütüphanem var - sınıfların kurucularını çağırarak. Son olarak, yazarlar binlerce sınıfın bütün kamu …

4
Yolsuzlukla Mücadele katmanı nedir ve nasıl kullanılır?
Yolsuzlukla Mücadele katmanının gerçekte ne anlama geldiğini bulmaya çalışıyorum. Eski kodlar veya hatalı API'ler arasında geçiş yapmanın / çalışmanın bir yolu olduğunu biliyorum. Anlamadığım şey, nasıl çalıştığı ve istenmeyen katmandan temiz bir ayrılık kılan şey. Bazı araştırmalar yaptım, ancak basit örnekler veya açıklamalar bulamıyorum, bu yüzden onu anlayan ve basit …

14
Dörtlü Çete “Desen Uzayı” nı iyice araştırdı mı?
Dörtlü Çete (GoF) tasarım kalıplarını ilk öğrendiğimden beri , en az 10 yıl önce, bu 23 kalıptan sadece Desen Alanı olarak adlandırmayı sevdiğimden daha büyük bir şeyin küçük bir örneği olması gerektiği izlenimini edindim . Bu varsayımsal Desen Alanı , yaygın nesne yönelimli yazılım tasarımı sorunları için önerilen tüm çözümlerden …

13
Tasarım desenleri kaşlarını çattı mı?
20 yıldır bu işte çalışan üst düzey geliştiricilerimizden biriyle bir tartışma yaptım. Ontario’da yazdığı bir blog için oldukça iyi tanınıyor. Garip olan şey bana söylediği şeydi: Çalışmak için bir kabus olan bir kod parçası olduğunu söyledi çünkü bir ders kitabından yazılmış ve gerçek dünyayı hesaba katmıyor. Kullanıcı Arayüzüne / veri …

17
Dönüş değerinin bulunmadığı fonksiyon / yöntemlerden NULL değeri veya boş değerler döndürmek daha mı iyidir?
Burada bir öneri arıyorum. Dönüş değeri olmadığında veya belirlenemediğinde, bir yöntemden NULL veya boş bir değer döndürmenin daha iyi olup olmadığıyla mücadele ediyorum. Aşağıdaki iki yöntemi örnek olarak alın: string ReverseString(string stringToReverse) // takes a string and reverses it. Person FindPerson(int personID) // finds a Person with a matching personID. …

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.