Tasarım Kalıplarına Giriş


Birçok iş görüşmesinde, arayüzler(interfaces), soyut sınıflar (abstract classes), delegeler(delegates) ve tasarım kalıpları(design patterns) ile ilgili sorularla birlikte object oriented programming ile ilgili diğer özellikler ile ilgili de birçok soruyla karşılaşmış olabilirsiniz.

Tasarım kalıpları çözümleri, nesne yönelimli programlamanın özellikleri ile gelişmiştir.

Tasarım kalıplarını bir kez anladıktan sonra, bu özellikleri projelerinizde veya uygulamalarınızda güvenle uygulayabilmenizin yanı sıra gireceğiniz iş görüşmelerinde de çok rahatlık yaşayacağınızdan emin olabilrisiniz.
  
Tasarım kalıpları bir çok uygulamada kullanılarak olumlu yanları kanıtlanmış ve test edilmiştir. Bir uygulamanın tasarım kalıpları ile oluşturulması, uygulamanın Güvenilir, Ölçeklenebilir ve Bakımı yapılabilir olmasını sağlayacaktır.

Tasarım Kalıpları Nedir?

Tasarım kalıpları, günlük programlamada karşılaştığımız sorunlara çözüm olabilirler. Bu kalıplar genellikle nesne oluşturma ve entegrasyon sorunlarını çözmeyi hedeflenmektedirler. Diğer bir deyişle, tasarım kalıpları gerçek dünya programlama problemlerine uygulanabilir şablonlar gibi davranırlar.

Tasarım Kalıplarının Tarihçesi ve Gelişimi

"Tasarım Kalıpları: Tekrar kullanılabilir Nesneye Yönelik Yazılımın Temelleri" adlı kitabın "Gang of Four" olarak tanınan ünlü dört yazarı (Erich GammaRichard HelmJohn VlissidesRalph Johnson) ilgili kitapla birlikte tasarım kalıpları kavramlarını getiren kişilerdir.

Yazarlar kitabı iki bölüme ayırmışlardır. İlk bölümde nesne tabanlı programlamanın eksileri ve arıları anlatılırken ikinci bölümde 23 klasikleşmiş yazılım tasarım kalıbına yer verilmiştir.

Daha fazla bilgi için lütfen aşağıdaki wikipedia makalesine bakabilirsiniz.
http://www.wiki-zero.com/index.php?q=aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRGVzaWduX1BhdHRlcm5z

"Tasarım Kalıpları: Tekrar kullanılabilir Nesneye Yönelik Yazılımın Temelleri" kitabına aşağıdaki resme tıklayarak ulaşabilirsinizulaşabilirsiniz.

Tasarım Kalıpları Türleri

Yazarlar, gerçek dünyadaki uygulamalarda karşılaşılan farklı problemlere dayanarak tasarım kalıplarını v3 türe ayırmıştır. Bunlar Yaratılışsal (Creational), Yapısal  (Structural ) ve Davranışsaldır (Behavioural.).

Yaratılışsal  Tasarım Kalıpları (Creational Design Patterns) : Bu kalıplar nesne oluşturma ve başlatma ile ilgilenir. Oluşturma modeli, belirli bir vaka için hangi nesnelerin yaratılması gerektiğine karar vermede programa daha fazla esneklik sağlar.

Yaratılışsal  Tasarım Kalıpları Kategorisi Örneği (Examples of Creational Design Patterns Category : Singleton , Factory and Abstract Factory vb.

Yapısal  Tasarım Kalıpları (Structural Design Patterns) : Bu kalıplar, sınıf (class) ve nesne kompozisyonu (object composition) ile ilgilidir. En basit haliyle bu kalıplar, dekuplaj arayüzü (decoupling interface) ile sınıfların (classes) ve nesnelerin (objects )uygulanmasına odaklanır.

Yapısal  Tasarım Kalıpları Kategorisi Örneği (Examples of Structural Fesign Patterns Category) : Adapter,  Facade and Bridge vb.

Davranışsal Tasarım Kalıpları (Behavioural Design Patterns) : Bu kalıplar, sınıflar (classes) ve nesneler (objects) arasındaki iletişim ile ilgilenir.

Davranışsal Tasarım Kalıpları Kategorisi Örneği (Examples of Behavioural Design Patterns Category ): Chain of Responsibility, Command and Interpreter vb.

Tasarım kalıplarını daha iyi anlamak için aşağıdaki nesne odaklı kavramlar hakkında temel bilgilere sahip olmak çok önemlidir.

  • Abstraction  
  • Inheritance
  • Polymorphism
  • Encapsulation 
  • Interfaces
  • Classes
  • Abstract classes

Singleton tasarım kalıbı ile ilgili makeleye gitmek için tıklayınız.

Share This Article

Comments (0)

Leave a Comment