Son 8 yıldır C# ve Java arasında gidip geliyorum.Kapatma/delegeler/işlev işaretçileri olan programlama dillerinde Şablon Yöntemi Kalıbı'nı kullanıyor musunuz?
Bana çarpan bir şey, C# içindeki "Şablon Yöntemi" tasarım desenini kullanmayı tamamen bıraktığım. Aslında, C# Bu deseni bir anti-desen olarak düşünmeye geldim.
http://en.wikipedia.org/wiki/Template_method_pattern
Java geri dönersek, ben desen eli ayağı tutan bulabilirsiniz. Hala antika görünüyor, ama bunu java'da yapmanın başka bir yolu olmadığını anlıyorum. Java da antika görünüyor;)
Bu zaten ortaya çıkacağından beri, neden bir antipattern?
- Çoğu zaman "yanlış nedenler" için miras hiyerarşinizi kullanır.
- Temel sınıflar, birbiriyle ilgisiz tüm kodlarla dolu olma eğilimindedir.
- Tasarım sürecini genellikle çok erken bir zamanda kilitlemek için sizi zorlar. (Bir çok durumda erken kilitleme)
- Bunu daha sonraki bir aşamada değiştirmek daha da zorlaşır.
Kapatma/delegeler/işlev işaretçileri ile, normalde alt sınıflandırma yerine bazı işlevlerin etrafından geçersiniz. Yani geri soruya
:Dil kapanışları/delegeler/fonksiyonu, Şablon Yöntemi kullanın ve do varsa?
Cevabınızı okumakta fayda var. Şablon metodu kalıbının, en iyi, özellikle kuplajın iyi olduğu yerlerde, kesinlikle bir örnek verebilir misiniz? Sadece varsayılan bağlantı her zaman kötüdür! – rpattabi
@ragu: Nokta, kuplajın iyi mi yoksa kötü mü olduğu değil. Önemli olan, gerekip gerekmediği. Gerekirse, IMHO bunu ifade etmenin en kolay yolu şablon yöntemidir. – dsimcha
Anladığım soruya cevap verdiğinizi anlıyorum. Sorum şu genel. Şablon kalıbıyla bağlantı kurmak bana kötü bir yan etki. Herhangi bir bağlantı örneği iyi mi? – rpattabi