Yapısal (structural) tasarım desenleri, sınıfların ve nesnelerin bir araya getirilerek daha büyük yapılar oluşturulmasıyla ilgilenir. Adapter, Bridge, Composite, Decorator, Facade, Flyweight ve Proxy bu gruptadır. Oluşturucu desenler nesne yaratmayla, davranışsal desenler ise nesneler arası iletişimle ilgilenir.
Nesneye Yönelik Programlama Ünite 13
Kaynak: https://lolonolo.com/2022/08/13/nesneye-yonelik-programlama-unite-13/
📖 Konu özeti (sınav öncesi tekrar)
Yapısal (structural) Tasarım Desenleri
Yapısal (structural) Tasarım Desenleri
Adapter (Adaptör), Bridge (Köprü), Facade (Cephe) ve Proxy (Vekil) yapısal desenlerdir. Singleton (Tekil) ise nesne oluşturmayı kontrol ettiği için oluşturucu (creational) desenler grubundadır.
Adapter (Adaptör), uyumsuz arayüzleri birbirine bağladığı için yapısal bir desendir. Factory, Abstract Factory, Singleton ve Builder (Yapıcı) ise nesne oluşturmayla ilgili oluşturucu desenlerdir.
II- Adaptör (Adapter)
III- Tekil (Singleton)
Verilenlerden hangisi ya da hangileri Yapısal Tasarım Desenidir?
Proxy (Vekil) ve Adapter (Adaptör) yapısal desenlerdir. Singleton (Tekil) ise oluşturucu (creational) bir desendir. Bu yüzden doğru cevap I ve II'dir.
Proxy (Vekil) deseni, asıl nesnenin önüne bir ara katman koyar. Gelen istekleri bu katmanda kontrol eder (yetki, önbellek, loglama gibi) ve uygunsa asıl nesneye iletir. Diğer şıklar nesne oluşturmayla ilgili oluşturucu desenlerdir.
Flyweight (Sinek Sıklet) deseni, çok sayıda benzer nesnenin ortak (değişmeyen) verisini paylaştırarak bellek kullanımını azaltır. Her nesneye özgü veri ise dışarıda tutulur. Örneğin bir metin editöründe her harf için ayrı bir nesne oluşturmak yerine aynı karakter nesneleri paylaşılır.
Facade (Cephe) deseni, karmaşık bir alt sistemin önüne basit bir arayüz koyar. İstemci bu tek arayüzle çalışır ve arka plandaki karmaşıklığı görmez. Proxy de bir ara katmandır, ancak amacı basitleştirmek değil, erişimi kontrol etmektir.
Composite (Bileşik) deseni, nesneleri parça-bütün ilişkisi içinde ağaç yapısında düzenler. Tek nesnelere ve nesne gruplarına aynı arayüzle erişilmesini sağlar. Klasör-dosya yapısı bu desenin tipik bir örneğidir.
Adapter (Adaptör) deseni, uyumsuz arayüzlere sahip sınıfların birlikte çalışmasını sağlayan yapısal bir desendir. Tıpkı bir priz adaptörü gibi, bir arayüzü istemcinin beklediği başka bir arayüze dönüştürür.
Adapter, Bridge, Facade ve Proxy yapısal desenlerdir. Factory (Fabrika) ise nesne oluşturmakla ilgili olduğu için oluşturucu (creational) desenler grubundadır.