17 Kasım 2022 Perşembe

Mediator Pattern

 Problem


Class1 ve Class2 olmak üzere iki clasımız olsun ve bu classlarlar birbirleriyle haberleşsin.

Yukarıda ki gibi bir iletişim de;
  • Nesneler bir birine sıkı bir şekilde bağlanmıştır.
  • Her nesne başka nesnelerle iletişim kurmak istediğinde tüm nesnelerin referanslarını tutması gerekir. Böyle bir durumda kodu kontrol etmeyi zorlaştırır.
Örnek Cep telefonuyla SMS göndermek için kullanıcılar arasında iletişim kurmak için her kullanıcının kendi aralarındaki bağlantıyı tutması gerekir. Bu da hem karmaşık hemde bu referansları tutmak için kaynak ve yer ihtiyacı doğurur. CPU yu azaltır.

Çözüm
-Buradaki sorun nesnelerin sıkı bir şekilde birbiriyle etkileşime geçmesidir. Nesneler arası iletişimi yönetmek için merkezi bir nesne oluşturmamız gerekiyor.
-İşte Mediator Patternin amacı, Bir dizi nesnenin nasıl etkileşime girdiğini kapsayan ve birbirine olan bağımlılıklarını azaltan bir merkezi nesne tanımlamaktadır.
-Mediator, Nesneleri birbirine doğrudan ulaşmaktan alıkoyarak gevşek bağımlığa destek verir ve aralarındaki iletişimi serbestçe değiştirmeye izin verir.



Sonuçlar
-Mediator kalıbıyla many-to-many ilişkiler, one-to-many ye dönüşür.
-Nesnelere dağıtılacak haberleşme protokolü bilgisi merkezi olarak mediator nesnesinde toplanır.
-Böylece kontrol merkezileşir ve nesneler arası gevşek bağımlılık oluşur.

Hiç yorum yok:

Yorum Gönder