Tasarım Desenlerine Giriş
Merhaba sevgili dostlar!
Önceki makalelerimizde SOLID prensiplerine odaklanmıştık. Haliyle artık tasarım desenleri (design patterns) konusu ile nesne yönelimli programlama okyanusunun derinliklerine doğru yelken açıyor olacağız (an itibariyle acaba nasıl kıvırsam diye kıvranıyorum ama nafile… Bir gün makale yazma konusunda istikrarı yakalayacağıma eminim. Ama ne zaman işte onu bilmiyorum 🙁 ).
Sevgili dostlar; “tasarım deseni” ismi de diğer yazılım geliştirme kavramlarının birçoğunda olduğu gibi, aslında yazılım dünyasına ait değil. Bu kavram, Christopher Alexander isimli bir mimar tarafından kullanılmış. Yo yo gerçek bir mimar! Hani şu bina, köprü, kule gibi eserleri yapan insanlardan… Bu mimar abimiz 1977 yılında, mimarlıkta sık karşılaşılan sorunların genel çözümünü ele alan bir kitap kaleme almış. Hatta bu kitabı da burada paylaşalım da eksik kalmasın bari.
Yukarıda, Christopher abinin kitabı yazma amacını açıklarken, design pattern kavramını da açıklamış oldum aslında (Hem altını çizdim, hem kalın, hem de italik yaptım daha ne yapayım). Ama yine de bu tanımı yazılım uygulamalarına uyarlayalım da hafızalarımızda yer edinsin.
Şimdi dostlar; Nesne Yönelimli Pprogramlama yaklaşımını kullanarak geliştirdiğimiz uygulamalarda, bazı sorunlarla oldukça sık karşılaşırız. İşte bu sorunların “en iyi çözümleri (best practice)” Tasarım Desenleri adıyla anılır. Bu arada yeri gelmişken şunu da söyleyeyim; tasarım desenleri aynı zamanda yazılım uzmanları arasında “ortak bir dil” de oluşturur. Yani, özellikle büyük projelerde takımdaki tüm yazılımcıları ortak bir platformda buluşturmak için, sorunları evrensel çözüm olan tasarım desenleri ile çözmek tercih edilir.
Aslında bu durumu bir arının petek yapmasına benzetebilirsiniz. Birçok arı aynı anda bir tasarım yapmaya başlar ve bu tasarım da peteği oluşturur.
Sevgili dostlar; Tasarım Desenleri, şimdiye dek iki kitapta toplandı. Bunlardan en çok referans gösterileni Gang of Four (GoF) Design Patterns isimli kitaptır. 23 adet tasarım deseni bu kitapta, üç ana kategoriye ayrılmıştır. Şimdi bu kategorileri ve tasarım desenlerini sıralayalım.
- Creational Patterns
- Structural Patterns
- Behavioral Patterns
- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template Method
- Visitor
- Chain of Responsibility
Evet sevgili dostlar… Yukarıda yer alan tasarım desenlerini (muhtemelen aynı sırayla) inceleyeceğiz.
(Umarım lafta kalmaz)
Şimdilik kendinize çok iyi bakın dostlar.
Sağlıcakla…
Diğer makalelerin kalitesini göz önüne alarak sabırsızlıkla bekliyoruz.
Mesleğin bu tarafına ait temiz kaynaklara daha çok ihtiyaç var.
Hocam seri eksik kalmış devamını bekliyoruz,
teşekkürler paylaşımınız için
Teşekkürler hocam. Yeni makaleleri bekliyoruz.