Adaptör deseni

Adaptör deseni veya kalıbı (İngilizce: Adapter Pattern), yazılım mühendisliğinde, bir sınıfın arayüzünü istemcinin beklediği başka bir arayüze dönüştüren bir yazılım tasarım kalıbıdır. Böylece, uyumsuz arayüzlere sahip sınıflar birlikte çalışabilir hâle gelir.

Genel bakış

Adaptör kalıbı, Gang of Four tarafından tanımlanan 23 temel tasarım kalıbından biridir ve yapısal kalıplar arasında sınıflandırılır. Bu kalıp, istemcinin ihtiyaç duyduğu arayüzü uygulamayan bir sınıfın, bu arayüze uyum sağlayarak kullanılabilmesini mümkün kılar.

Bileşenler

Adaptör kalıbı şu temel bileşenlerden oluşur:

Uygulama

Adaptör kalıbı iki farklı yöntemle uygulanabilir:

Sınıf Adaptörü (Class Adapter)

Bu yaklaşımda, adaptör sınıfı hem hedef arayüzü uygular hem de adaptee sınıfından kalıtım alır. Bu yöntem, çoklu kalıtımı destekleyen dillerde mümkündür.

// Java örneği (sınıf adaptörü)
class Adaptör extends Adaptee implements HedefArayüz {
    public void hedefMetot() {
        adapteeMetot();
    }
}

Nesne Adaptörü (Object Adapter)

Bu yaklaşımda, adaptör sınıfı bileşim yoluyla adaptee nesnesine başvurur. Java ve C# gibi tekli kalıtım destekleyen dillerde bu yöntem tercih edilir.

// Java örneği (nesne adaptörü)
class Adaptör implements HedefArayüz {
    private Adaptee adaptee;

    public Adaptör(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    public void hedefMetot() {
        adaptee.adapteeMetot();
    }
}

Adaptör deseni örneği

Adaptör kalıbı, gerçek dünyada priz adaptörlerine benzetilebilir. Örneğin, Avrupa tipi bir fişi Amerikan tipi prize uydurmak için fiziksel bir adaptör kullanılır. Benzer şekilde, yazılımda da farklı arayüzlere sahip bileşenleri birbirine uyarlamak için adaptör kullanılır.

Avantajlar

Dezavantajlar

Kullanım senaryoları

İlgili Kalıplar

Kaynakça

  1. 1 2 3 4 5 6 Gamma, Erich, (Ed.) (2011). Design patterns: elements of reusable object-oriented software. 39. printing. Boston, Mass. Munich: Addison-Wesley. ISBN 978-0-201-63361-0.