Çoğu geliştirici, gelen herhangi bir yeni paradigma veya metodolojiyi gölgede bırakacak. Tasarım kalıplarını ilk duyduğumda yaptım. Tasarım kalıpları tam olarak isminin önerdiği şeydir: sınıflar oluşturmak, davranışlarını ve etkileşimlerini tahmin edilebilir bir şekilde modellemek için bir tasarım veya şablon
Evlere bir bakın. Bazı benzerlikleri var. Her evde bir oturma odası, mutfak, yatak odası, banyo, tuvalet vardır. Kimse tuvaleti olmayan bir ev inşa edemez, değil mi? Daireler, bunglowlardan farklı bir desene sahiptir. Kalelerin tamamen farklı bir deseni vardır. Giysilerin de desenleri var. Bir ceket ve resmi bir gömlek aynı temel tasarıma sahiptir, ancak farklı davranışları vardır: röportaj için kovboy ceketi giymezsiniz. Benzer şekilde sınıflar ve eylemleri de davranışlarına ve tasarımlarına göre gruplandırılabilir. Davranışlarındaki ortak öğelere bakmak, sınıflar için tasarım kalıpları verir.
Anladığım tasarım desenleri, yalnızca yeniden kullanılabilirlik ve genişletilebilirlik birincil kaygılarsa önemlidir. Küçük uygulamalar oluşturursanız (10 sınıftan az derseniz), bunlara hiç ihtiyacınız olmayabilir. Ancak büyük projeler, özellikle de üzerinde büyük ekipleri olan ve uzun bir bakım ve özellik ekleme döngüsüne sahip olanlar, kesinlikle kalıplara ihtiyaç duyacaktır. Büyük projelerde bile bir seçenek değil.
Kalıplarla ilgili bazı çevrimiçi eğitimlere göz atın. Wikipedia iyi bir makale dizisine sahiptir. Bu site de iyi: http://sourcemaking.com/ . Deneyimli bir programcıysanız, birkaç desenle karşılaştığınızı, hatta belirli bir adla bilmeden kendinize benzer bir şey uyguladığınızı göreceksiniz.
Onları tamamen görmezden gelme! Bunları gelecekte olmasa da gelecekte faydalı bulabilirsiniz. Tasarım Kalıplarına açık bir zihinle yaklaşmanın anahtarı şudur: "Tasarım kalıpları kullanmazsam ne olur?" Desenler "tedavi" anlamına gelmez (bir problemin tedavisi olarak kullanabilirsiniz); bunun yerine, "önleme tedaviden daha iyidir" şeklindedir.
Yine de, onu kullanmak için küçük bir bahane gördüğünüz her yerde ve zamanda desen uygulayan bir saplantıya karşı uyarırdım. Bu problemle, mimarın DP olmadan projenin tam bir felaket olacağına ikna olduğu bir projede karşılaştım. Mühendislerin tasarımdan geçtikleri ve önerdiği birçok desenin "güzel desenlere vay vay bak" göstermekten başka bir faydası olmayacağına işaret eden bir grup toplantısı yaptık. Desenlerin sadece ihtiyaçlara göre kullanıldığı yerlerin sayısını azaltmak için çok inandırıcı ve pazarlık gerekiyordu.