Adaptör deseni - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Genel bakış
  • 2 Bileşenler
  • 3 Uygulama
    • 3.1 Sınıf Adaptörü (Class Adapter)
    • 3.2 Nesne Adaptörü (Object Adapter)
  • 4 Adaptör deseni örneği
  • 5 Avantajlar
  • 6 Dezavantajlar
  • 7 Kullanım senaryoları
  • 8 İlgili Kalıplar
  • 9 Kaynakça

Adaptör deseni

  • العربية
  • Български
  • Català
  • Čeština
  • Deutsch
  • English
  • Español
  • فارسی
  • Français
  • Galego
  • Magyar
  • Հայերեն
  • İtaliano
  • 日本語
  • 한국어
  • Nederlands
  • Polski
  • Português
  • Русский
  • Slovenčina
  • Svenska
  • ไทย
  • Українська
  • Tiếng Việt
  • 中文
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Wikimedia Commons
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi

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.[1]

Genel bakış

[değiştir | kaynağı değiştir]

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.[1] 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

[değiştir | kaynağı değiştir]

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

  • Hedef Arayüz (Target): İstemcinin beklediği arayüzü tanımlar.
  • Adaptee: Uyum sağlanmak istenen mevcut sınıf veya arayüz.
  • Adaptör (Adapter): Hedef arayüzü uygulayan ve adaptee’nin işlevselliğini bu arayüze uyarlayan sınıf.
  • İstemci (Client): Hedef arayüzü kullanan kod parçası.

Uygulama

[değiştir | kaynağı değiştir]

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

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

[değiştir | kaynağı değiştir]

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)

[değiştir | kaynağı değiştir]

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

[değiştir | kaynağı değiştir]

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.[1]

Avantajlar

[değiştir | kaynağı değiştir]
  • Mevcut sınıflar değiştirilmeden yeniden kullanılabilir.
  • Arayüzler uyumlaştırılarak sistemler entegre edilebilir.
  • Kodun esnekliği ve yeniden kullanılabilirliği artar.[1]

Dezavantajlar

[değiştir | kaynağı değiştir]
  • Fazladan bir soyutlama katmanı eklenmesi, kod karmaşıklığını artırabilir.
  • Gereksiz kullanımı, sistem mimarisini karmaşıklaştırabilir.[1]

Kullanım senaryoları

[değiştir | kaynağı değiştir]
  • Var olan bir sınıfın istemcinin beklediği arayüzle uyumlu hâle getirilmesi gerekiyorsa.
  • Üçüncü parti kütüphanelerin veya eski sistemlerin mevcut uygulamalara entegre edilmesi gerekiyorsa.
  • Farklı veri formatları veya iletişim protokolleri arasında köprü kurmak gerekiyorsa.

İlgili Kalıplar

[değiştir | kaynağı değiştir]
  • Köprü deseni: Soyutlama ve uygulamanın ayrılmasını sağlar. Adaptör, mevcut sınıfları yeni bir arayüze uyarlar; köprü ise yeni soyutlamalar ve uygulamalar arasında ayrım yapar.
  • Süsleyici deseni: Dinamik olarak yeni davranışlar ekler, ancak adaptasyon sağlamaz.
  • Fasade deseni: Alt sistemlere daha basit bir arayüz sağlar.

Kaynakça

[değiştir | kaynağı değiştir]
  1. ^ a b c d e f 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. 
  • g
  • t
  • d
Tasarım örüntüleri kitabı
Yaratım
  • Fabrika yöntemi
  • Örnek
  • Soyut fabrika
  • Yapıcı
  • Yegâne
Yapısal
  • Bileşik
  • Cephe
  • Dekoratör
  • Köprü
  • Sinek siklet
  • Uyumlayıcı
  • Vekil
Davranış
  • Arabulucu
  • Durum
  • Gözlemci
  • Kalıp yordamı
  • Komut
  • Sorumluluk zinciri
  • Yadigâr
  • Yineleyici
  • Yorumlayıcı
  • Ziyaretçi
(sınıf örüntüleri eğik yazıyla)
"https://tr.wikipedia.org/w/index.php?title=Adaptör_deseni&oldid=35454177" sayfasından alınmıştır
Kategori:
  • Yazılım tasarım örüntüleri
  • Sayfa en son 12.59, 10 Haziran 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Adaptör deseni
Konu ekle