Tasarım Kalıpları Giriş

Merhabalar, bu yazımla birlikte tasarım kalıpları yazı dizisine başlamış olacağım.(Tasarım prensipleri içinde belki ayrı bir yazı dizisi yapabilirim.) Tasarım kalıpları için bir tanımlama yapmak gerekirse; yazılımdaki tekrar eden sorunları, problemleri çözebilmek için tekrar kullanılabilir, esnek yapıda olan bir veya birden fazla sınıftan oluşmuş programlar denilebilir. Tasarım kalıpları tecrübelere dayanır. İlla projelerinizde kullanmanıza gerek yok. Ancak yazılımcılar arası ortak bir dildir tasarım kalıpları. Hangi programlama dilinde geliştirme yaparsanız yapın, yazılımcı olarak yazdığınız kodu başka yazılımcılara anlatırken burada ‘Singleton‘ kalıbını kullandım, burada ‘Strategy‘ kalıbını kullandım, dediğinizde anlatmak istediğiniz neyse karşı tarafa rahatça ulaşacaktır.

Ancak sırf olsun diye değil, ihtiyaçların sorgulanıp, kullanılacak tasarım kalıbına ne kadar gerekli olduğu sonucu baştan çıkarılması geliştirme süresine doğrudan etki edecektir. Aksi halde yerli yersiz kullanılan tasarım kalıpları mimarinizi kötü yönde etkiler.

Tasarım kalıpları temelde 3 kategoriye ayrılır.

Oluşturucu Tasarım Kalıpları
-Factory, Factory Method, Singleton, Builder vb.

Yapısal Tasarım Kalıpları
-Facade,  Adapter, Proxy vb.

Davranışsal Tasarım Kalıpları
-Iterator, Observer, Strategy vb.

Bu yazıyla tasarım kalıplarına girişi basitten yapmış olduk. Sonraki yazılarda örnekler üzerinden çokça kullanılan tasarım kalıplardan ilerleyerek devam edeceğim. Görüşmek üzere..

 
İnsan sevdiğini öldürür diye bir söz vardır ya. Aslında bakın, insanı öldüren hep sevdiğidir. (Fight Club)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s