«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. Tasarım kalıplarının uygulanmasında sorun yaşıyorsanız bu etiketi sorular için kullanın. Lütfen bu etiketi metin modeli eşleşmesi ile ilgili sorularda kullanmayın. Bu etiketi uygulamada yoğun sorularda kullanırken - uygulamanın yazıldığı kod dilini etiketleyin.

17
C # 'da fabrika deseni: Bir nesne örneğinin yalnızca bir fabrika sınıfı tarafından oluşturulabileceğinden nasıl emin olunur?
Son zamanlarda kodumun bir kısmını güvenli hale getirmeyi düşünüyordum. Bir nesnenin hiçbir zaman doğrudan yaratılamayacağından, ancak sadece fabrika sınıfının bir yöntemi aracılığıyla nasıl emin olunabileceğini merak ediyorum. Diyelim ki bir "iş nesnesi" sınıfım var ve bu sınıfın herhangi bir örneğinin geçerli bir dahili duruma sahip olduğundan emin olmak istiyorum. Bunu …


4
C için Tasarım İlkeleri, En İyi Uygulamalar ve Tasarım Modelleri (veya genel olarak Prosedürel Programlama)? [kapalı]
Kapalı . Bu soru fikir temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Bu gönderiyi düzenleyerek gerçeklerle ve alıntılarla cevaplanabilmesi için soruyu güncelleyin . 2 yıl önce kapalı . Bu soruyu geliştirin Bir C projesi tasarlarken izlenebilecek bilinen tasarım ilkeleri, en iyi uygulamalar ve tasarım modelleri …

7
Bağımlılık Enjeksiyonu ve Tekli Tasarım modeli
Bağımlılık enjeksiyonunu veya tekil kalıbı ne zaman kullanacağımızı nasıl belirleyebiliriz? "Tekil kalıp yerine Bağımlılık enjeksiyonu kullanın" dedikleri birçok web sitesinde okudum. Ama onlara tamamen katılıp katılmadığımdan emin değilim. Küçük veya orta ölçekli projelerim için kesinlikle tekli desen kullanımını basit görüyorum. Örneğin Logger. Kullanabilirim Logger.GetInstance().Log(...) Ama bunun yerine neden oluşturduğum her …

5
Singleton'lar kötüyse, neden bir Servis Konteyneri iyidir?
Tekillerin ne kadar kötü olduğunu hepimiz biliyoruz çünkü bağımlılıkları gizlerler ve başka nedenlerle . Ancak bir çerçevede, yalnızca bir kez somutlaştırılması ve her yerden çağrılması gereken birçok nesne olabilir (logger, db vb.). Bu sorunu çözmek için bana Servislere yapılan her referansı (kaydedici vb.) Dahili olarak depolayan "Nesne Yöneticisi" (veya symfony …

16
GOF Singleton Pattern'e uygun alternatifler var mı?
Kabul edelim. Singleton Pattern, çitin her iki tarafında ordu programcıları ile oldukça tartışmalı bir konudur . Singleton'ın yüceltilmiş bir küresel değişkenden başka bir şey olmadığını düşünenler ve kalıplara göre yemin edip onu sürekli kullanan başkaları var. Ancak Singleton Tartışmasının sorumun merkezinde yer almasını istemiyorum . Herkes bir halat çekebilir ve …

3
Şişman modeller ve sıska denetleyiciler, Tanrı modelleri yaratmak gibi geliyor [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Cevapların gerçekler, referanslar veya uzmanlıkla desteklenmesini bekliyoruz, ancak bu soru büyük olasılıkla münazara, argümanlar, anketler veya uzun tartışmalar gerektirecektir. Bu sorunun iyileştirilebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, rehberlik için yardım merkezini ziyaret edin . 7 yıl önce kapalı . Özellikle …

3
WinForms'da Model Görünümü Sunucusu
WinForms kullanarak MVP yöntemini ilk kez uygulamaya çalışıyorum. Her katmanın işlevini anlamaya çalışıyorum. Programımda, tıklandığında bir açık filtre penceresi açan bir GUI düğmesi var. Dolayısıyla, MVP'yi kullanarak, GUI düğme tıklama olayını işler ve ardından presenter.openfile () öğesini çağırır; Presenter.openfile () içinde, bu dosyanın açılışını model katmanına devretmeli mi, yoksa işlenecek …

16
tar: geçerli dizindeki tüm dosyaları ve dizinleri ekle .svn vb. DAHİL
Bir dizini tar.gz yapmaya çalışıyorum ve tar -czf workspace.tar.gz * Ortaya çıkan tar, alt .svndizinlerdeki dizinleri içerir , ancak geçerli dizinde DEĞİL (tar'a *geçmeden önce yalnızca 'görünür' dosyalara genişletilir) Denedim tar -czf workspace.tar.gz .bunun yerine ama sonra bir hata alıyorum çünkü '.' okurken değişti: tar: ./workspace.tar.gz: file changed as we …


9
Bir ImmutableMap veya bir Harita döndürmek daha mı iyi?
Diyelim ki Harita döndürmesi gereken bir yöntem yazıyorum . Örneğin: public Map<String, Integer> foo() { return new HashMap<String, Integer>(); } Bir süre düşündükten sonra, bu haritayı oluşturulduktan sonra değiştirmek için hiçbir neden olmadığına karar verdim. Bu nedenle, bir ImmutableMap döndürmek istiyorum . public Map<String, Integer> foo() { return ImmutableMap.of(); } …

2
Uygulamaları ile "Reaktör Modeli" için Basit Açıklama [kapalı]
Kapalı . Bu soruya daha çok odaklanılması gerekiyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Soruyu, yalnızca bu gönderiyi düzenleyerek tek bir soruna odaklanacak şekilde güncelleyin . 6 yıl önce kapalı . Bu soruyu geliştirin Reaktör modeli wikipedia'da açıklanmıştır ve biraz fazla soyuttur. Bu modeli daha …

14
Soyut sınıf ve Java'da Arayüz
Bana bir soru soruldu, cevabımın burada gözden geçirilmesini istedim. S: Hangi senaryoda, arayüz (ler) i uygulamak yerine soyut bir sınıfı genişletmek daha uygundur? C: Şablon yöntem tasarım modelini kullanıyorsak. Doğrumuyum ? Soruyu net bir şekilde ifade edemediysem özür dilerim. Soyut sınıf ve arayüz arasındaki temel farkı biliyorum. 1) Gereksinim, belirli …

5
Ziyaretçi deseninde kabul etme () yönteminin amacı nedir?
Algoritmaları sınıflardan ayırma konusunda çok fazla konuşma var. Ancak, açıklanmayan bir şey bir kenara bırakılır. Ziyaretçiyi böyle kullanıyorlar abstract class Expr { public <T> T accept(Visitor<T> visitor) {visitor.visit(this);} } class ExprVisitor extends Visitor{ public Integer visit(Num num) { return num.value; } public Integer visit(Sum sum) { return sum.getLeft().accept(this) + sum.getRight().accept(this); …

4
"İş mantığı katmanı" bir MVC uygulamasına nerede uyuyor?
Birincisi, kimse dupe çığlık atmadan önce, basit bir başlıkta özetlemekte zorlandım. Başka bir başlık da "Bir etki alanı modeli ile MVC modeli arasındaki fark nedir?" veya "Model nedir?" Kavramsal olarak, bir Modeli, görünümler ve denetleyici tarafından kullanılan veri olarak anlıyorum. Bunun ötesinde, modeli neyin oluşturduğuna dair çok sayıda farklı gö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.