Adapter Design Pattern
Adaptör için özetle mevcut bir sınıfı veya arayüz sınıfını, eldeki farklı bir arayüz sınıfına uygun hale getirerek tekrar kullanmak amacıyla uygulanır. Çoğu zaman işe yarayacağını düşündüğümüz mevcut bir sınıfı kendi sistemimizde tekrar kullanmak isteriz. Fakat mevcut sınıf, tam beklediğimiz gibi olmayabilir. Bu durumda araya bir tane adaptör yazarak, mevcut sınıfı kendi sistemimize uygun hale getirebiliriz. Böylece adapte edilen nesnede kod değişikliği olmadan benzer bir arayüzü destekler hale getiririz. Ayrıca adaptasyon işlemi sırasında, adapte edilen nesnenin desteklemediği özellikler de adaptör tarafından gerçekleştirilebilir diyebiliriz.
Yukarıda gördüğümüz şemada Adapter Tasarım Desenin çalışma mantığı yer almaktadır.
Adapter tasarım deseninde 4 temel yapı vardır. Bunlar;
- Adaptee : Mevcut sisteme uydurulmak istenen nesne.
- Adapter: Mevcut sisteme uydurma işlemi yapan nesne.
- Target: İhtiyaç duyulan class veya interface.
- Client: İşlemleri gerçekleştirdiğimiz ortak sınıf.