Hem tasarım desenlerinden hem de kuplajdan bahsediyorsunuz. Bunlar ayrı kavramlar, bu yüzden onlarla ayrı ayrı ilgileneceğim. Tek gerçek bağlantı, tasarım modellerinin gevşek kuplajı teşvik etme eğiliminde olmasıdır (çünkü iyi tasarımın önemli bir yönüdür).
Tasarım desenleri
Tasarım Desenleri kavramı aslında oldukça basittir: Bunlar sadece çeşitli yaygın sorunların nasıl ele alınacağına dair bir dizi şablondur. Popüler olmalarının 2 ana nedeni vardır:
- 'Kanıtlanmışlardır': birçok kez kullanılmışlardır ve her birinin yararları / dezavantajları genellikle bilinir, özellikle büyük sorunlara neden olabilecek ince konular bilinmektedir.
- Ortak bir terminoloji seti sağlarlar ve böylece daha kolay iletişim sağlarlar. Birisi "sınıf X, gözlemci modelinde gözlemcinin rolünü oynar" derse, o zaman kalıba aşina olan geliştiriciler neler olup bittiğini hemen kavrayabilir.
Doğru uyguladığınızı nasıl anlarsınız? Bu biraz zor. Çoğu desen için basittir - ya onu salladınız ya da yapmadınız. Bazı modeller diğerlerinden daha az açık bir şekilde tanımlanmıştır - örn. Model-görünüm denetleyicisi . Bunun gibi desenler genel kurallar olarak daha iyi kullanılır. Bunu nasıl uyguladığınıza ilişkin ayrıntılar, kalıbın nedenlerini ve neyi başarması gerektiğini anlamaktan daha az önemlidir.
Tasarım kalıpları 'tek doğru yol' değildir. Çoğu zaman bunları özel amaçlarınız için uyarlamanız gerekir veya bazen gereksinimlere uyan herhangi bir desen olmaz. Bir tasarım desenini uymadığı yerde zorlamak kötü bir fikirdir; aslında istediğiniz bir tornavida olduğunda gerçekten iyi bir çekiç kullanmak gibidir.
Kavrama
Bu bilgisayar biliminde gerçekten önemli bir fikir. Çoğu yazılım projesi için gereksinimler zamanla (bazen önemli ölçüde) değiştiğinden, bir tasarımın değişikliklerle başa çıkabilmesi önemlidir. Kuplaj temelde "bu bileşeni başka bir bileşenle değiştirmek ne kadar zor olur?" 'Bileşen' bir yöntem, sınıf, paket, kütüphane vb. Olabilir.
Bu Wikipedia makalesinde listelenen çeşitli bağlantı türleri vardır .