Bu makalemizde, gelen talebi zincir şeklinde birbirine bağlanmış bir nesne grubuna aktararak işlem yapılmasını sağlayan Chain of Responsibility tasarım kalıbını inceleyeceğiz. Bu serinin genelinde olduğu gibi öncelikle Chain of Responsibility tasarımın kalıbının ne olduğunu, hangi durumlarda hangi sorunlara çözüm sunduğunu konuşacak, sonrasında gelen bir talebe istinaden herhangi bir tasarım kalıbı kullanmadan bir çözüm üretecek, ardından bu çözümün problemlerini ve hangi yazılım tasarım prensiplerine aykırı olduğunu tartışacak, son olarak da Chain of Responsibility tasarım kalıbı ile aynı talebe uygun bir çözüm üretmeye çalışacağız.
Bu makalemizde, birbirleriyle yakın ilişkili sistemleri birbirlerinden bağımsız şekilde geliştirilebilecek iki ayrı sisteme bölme ve bunlar arasındaki ilişkiyi yönetme konusuna odaklanan Bridge tasarım kalıbını inceleyeceğiz. Bu serinin genelinde olduğu gibi öncelikle Bridge tasarımın kalıbının ne olduğunu, hangi durumlarda hangi sorunlara çözüm sunduğunu konuşacak, sonrasında gelen bir talebe istinaden herhangi bir tasarım kalıbı kullanmadan bir çözüm üretecek, ardından bu çözümün problemlerini ve hangi yazılım tasarım prensiplerine aykırı olduğunu tartışacak, son olarak da Bridge tasarım kalıbı ile aynı talebe uygun bir çözüm üretmeye çalışacağız.
Bu makalemizde, karmaşık sistemlerin kullanıcı dostu ve basit bir arabirime sahip olmasını sağlayan Facade tasarım kalıbını inceleyeceğiz. Bu serinin genelinde olduğu gibi öncelikle Facade tasarımın kalıbının ne olduğunu, hangi durumlarda hangi sorunlara çözüm sunduğunu konuşacak, sonrasında gelen bir talebe istinaden herhangi bir tasarım kalıbı kullanmadan bir çözüm üretecek, ardından bu çözümün problemlerini ve hangi yazılım tasarım prensiplerine aykırı olduğunu tartışacak, son olarak da Facade tasarım kalıbı ile aynı talebe uygun bir çözüm üretmeye çalışacağız.
13. Composite Pattern
Bu makalemizde, bir grup nesnenin tek bir nesne gibi yönetilmesini sağlayan Composite tasarım kalıbını inceleyeceğiz. Bu serinin genelinde olduğu gibi öncelikle Composite tasarımın kalıbının ne olduğunu, hangi durumlarda hangi sorunlara çözüm sunduğunu konuşacak, sonrasında gelen bir talebe istinaden herhangi bir tasarım kalıbı kullanmadan bir çözüm üretecek, ardından bu çözümün problemlerini ve hangi yazılım tasarım prensiplerine aykırı olduğunu tartışacak, son olarak da Composite tasarım kalıbı ile aynı talebe uygun bir çözüm üretmeye çalışacağız.
12. Flyweight Pattern
Bu makalemizde, ortak özelliklere sahip yüksek sayıda benzer nesnenin oluşturulması gereken durumlarda hafıza optimizasyon tekniği olarak kullanılan Flyweight tasarım kalıbını inceleyeceğiz. Bu serinin genelinde olduğu gibi öncelikle Flyweight tasarımın kalıbının ne olduğunu, hangi durumlarda hangi sorunlara çözüm sunduğunu konuşacak, sonrasında gelen bir talebe istinaden herhangi bir tasarım kalıbı kullanmadan bir çözüm üretecek, ardından bu çözümün problemlerini ve hangi yazılım tasarım prensiplerine aykırı olduğunu tartışacak, son olarak da Flyweight tasarım kalıbı ile aynı talebe uygun bir çözüm üretmeye çalışacağız.
11. Decorator Pattern
Bu makalemizde, var olan bir nesneye kaynak kodunu değiştirmeden çalışma zamanında yeni özellikler eklemeye imkan sağlayan Decorator tasarım kalıbını inceleyeceğiz. Bu serinin genelinde olduğu gibi öncelikle Decorator tasarımın kalıbının ne olduğunu, hangi durumlarda hangi sorunlara çözüm sunduğunu konuşacak, sonrasında gelen bir talebe istinaden herhangi bir tasarım kalıbı kullanmadan bir çözüm üretecek, ardından bu çözümün problemlerini ve hangi yazılım tasarım prensiplerine aykırı olduğunu tartışacak, son olarak da Decorator tasarım kalıbı ile aynı talebe uygun bir çözüm üretmeye çalışacağız.
Bu makalemizde, orijinal nesnenin yerine geçerek bu nesneyle yapılan her türlü etkileşimi kontrol altına alan Proxy tasarım kalıbını inceleyeceğiz. Bu serinin genelinde olduğu gibi öncelikle Proxy tasarımın kalıbının ne olduğunu, hangi durumlarda hangi sorunlara çözüm sunduğunu konuşacak, sonrasında gelen bir talebe istinaden herhangi bir tasarım kalıbı kullanmadan bir çözüm üretecek, ardından bu çözümün problemlerini ve hangi yazılım tasarım prensiplerine aykırı olduğunu tartışacak, son olarak da Proxy tasarım kalıbı ile aynı talebe uygun bir çözüm üretmeye çalışacağız.
Bu makalemizde, birbirleriyle uyumlu olmayan iki bileşen arasına girerek köprü vazifesini üstlenen, bu iki bileşenin birbirleriyle iletişim kurmasına ve çalışabilmesine imkan sağlayan Adapter tasarım kalıbını inceleyeceğiz. Bu serinin genelinde olduğu gibi öncelikle Adapter tasarımın kalıbının ne olduğunu, hangi durumlarda hangi sorunlara çözüm sunduğunu konuşacak, sonrasında gelen bir talebe istinaden herhangi bir tasarım kalıbı kullanmadan bir çözüm üretecek, ardından bu çözümün problemlerini ve hangi yazılım tasarım prensiplerine aykırı olduğunu tartışacak, son olarak da Adapter tasarım kalıbı ile aynı talebe uygun bir çözüm üretmeye çalışacağız.