Chain of responsibility sorumluluk zinciri anlamına gelmektedir. Sisteme gönderilen bir istediğin (komut) hangi nesne tarafından cevaplanması gerektiğini bilmediğimiz durumlarda ya da isteği yapan nesne ve servis sağlayan nesne arasında sıkı bir bağ oluşmasını engellememiz gerektiğinde Chain of Responsibility tasarım şablonu kullanılır. Bu tasarım şablonunda servis sağlayan ilgili tüm nesneler bir kolye üzerindeki boncuklar gibi birbirleriyle ilişkili hale getirilir. Bir nesne zincirdeki kendinden sonraki nesneyi tanır ve isteği kendi cevaplayamadığı durumda, kendinden sonraki nesneye iletir. Bu işlem, zincirde bulunan doğru servis saglayıcı nesneyi bulana kadar devam eder.
Bu tasarım şablonu için ilginç bir örnek kullanmak istiyorum. İçine para atarak, kahve aldığımız bir kahve otomatı düşünelim. Bir kahvenin bedeli 1 TL olabilir. Kahveyi alabilmek için 1 TL değerindeki metal parayı otomata atmamız gerekiyor.
Bu yazıyı PDF olarak edinebilirsiniz.
Chain of Responsibility Tasarım Şablonu (345,2 KiB, 6.956 yükleme)
EOF (End of Fun)
Özcan Acar
Tasarım Şablonları (Design Patterns) kategorisinden son yazılar
- Decorator Tasarım Şablonu - July 24th, 2010
- Java Enum ile Singleton Tasarım Şablonu - February 2nd, 2010
- Intercepting Filter Tasarım Şablonu - December 9th, 2009
- Builder Tasarım Şablonu - November 17th, 2009
- Service Locator Tasarım Şablonu - October 30th, 2009
- Business Delegate Tasarım Şablonu - October 30th, 2009
- Front Controller Tasarım Şablonu - October 9th, 2009
- Flyweight (Sinek Siklet) Tasarım Şablonu - October 9th, 2009
- Proxy (Vekil) Tasarım Şablonu - October 8th, 2009
- Facade (Cephe) Tasarım Şablonu - October 7th, 2009