Paternlerin varlığının iki farklı, önemli nedeni vardır.
Birincisi zaten oldukça iyi açıklanmıştır: desen kullanımı geliştiriciler arasındaki iletişimi yağlar. Siz ve ben, 'Gözlemci' dediğimde kodun çok spesifik bir yapısından bahsettiğimi anlarsanız, o kalıbı kullanan biraz kodun nasıl çalıştığını çok hızlı bir şekilde açıklayabilirim. Alternatif, zaman alıcı ve hataya açık olan çözümü tam olarak tanımlamaktır. ("Peki, tüketici nesnelerini tanımlayan ve arabirimlendiren bu saf sanal sınıfı yarattım ve sonra aktif tüketicilerin listesini tutan bir sınıf yarattım ...")
Kalıpların ikinci yararı, yaygın problem formları için hazır çözüm formları olmalarıdır. Eğer kalıplarınızı biliyorsanız ve örneğin, sınıflar arasında gereksiz bağlantı kurmaya gerek kalmadan (muhtemelen birden fazla) üretici nesneden birden fazla tüketici nesnesine bilgi almanın iyi bir yolunu bulmanız gereken bir sorunla karşılaşırsanız, bir Gözlemci işi! " ve derhal probleminizi nasıl çözeceğinizi bileceksiniz.
Bu faydalar da gerçekten birbirini güçlendiriyor. Belirli ortak sınıf sınıflarını hızlı bir şekilde çözmenize izin verir ve işiniz bittiğinde, sorunu nasıl çözdüğünüzü çok hızlı bir şekilde iletebilirsiniz.
Bunu, kalıpların "var olmadığı" bir dünya ile karşılaştırın. Genellikle önemsiz tasarım sorunları olmayan bu sorun sınıflarından birine rastlarsınız ve iyi bir çözüm bulmak için oldukça fazla zaman harcarsınız (bu da büyük olasılıkla uygun desene çok benzeyecektir). Sonra, iş arkadaşınız ortaya çıkar ve bunu nasıl çözdüğünüzü bilmek ister ve nasıl ve nedenini tartışmak için bir saat geçirirsiniz.
Tüm bunlar oldukça açık görünmesi gereken bir uyarı ile ilişkilidir: sorunları uymayan kalıplara zorlamaya çalışmayın. Desen soruna uymazsa, çözüm kıvrımlı hale gelir ve desenlerin çaba azaltma faydasını kaybedersiniz. Ayrıca, çalışmanız artık iş arkadaşlarınızın modelin anlamını anlamasına uymayacağından, iletişim avantajının maliyetini kaybedeceksiniz. Aslında, iletişim maliyetini modelsiz maliyetin ötesinde artıracaksınız, çünkü modelin yanlış kullanımı iş arkadaşlarınıza çözümü yanlış bir şekilde anlayacaktır, ki bu hiç bir anlayıştan daha kötü değildir.