Chain Of Responsibilities (Behavioral Patterns)

Bir nesnenin sıralı olarak işlenmesi gerektiği durumlarda kullanılan bir örüntüdür. Bu örüntüde her işleyici yalnızca kendinden sonra çalışacak olan işlev hakkında bilgi sahibidir. Miras olarak aldığı nesne/nesneler üzerinde ihtiyaç duyulan işlemler sağlandıktan sonra kendinden sonraki işleve aldığı mirasları iletir.

Örneğin; frameworklerde middleware katmanında bu design pattern kullanılır. Request framework tarafından alınır ve tanımladığımız middlewareleri sırasıyla çalıştırdıktan sonra bir hata oluşmaması durumunda en son konuma yerleştirilmiş frameworke ait middleware Inversion of Control (IoC) prensibini uygulayarak Requesti ilişkilendirilmiş Controller’a yani bizim kodlarımıza iletir ve aldığı response’u istemciye dönerek yaşam döngüsünü tamamlar.

Ayrıntılı bilgi ve örnekler için refactoring.guru/design-patterns/chain-of-responsibility ziyaret edebilirsiniz.