Adapter Design Pattern

Bir sınıf değişime kapalı, gelişmeye açık olmalıdır. Eğer bir uygulama geliştirdikten sonra birkaç sınıfı değiştirirseniz, uygulamada o sınıfın kullanıldığı her yeri değiştirmeniz gerekecektir. Bu durum, küçük uygulamalarda çok büyük bir sorun gibi görünmese de, büyük uygulamalarda sorun olmaya başlayabilir.

Sınıfların fonksiyonalitesini değiştirmek için, sınıfı extends edip yeni bir sınıf oluşturup, yeni fonksiyonları oraya ekledikten sonra, istemci koda (client code) senin kullanacağın yeni sınıf budur diyebilirsiniz. Ama bu durumda da, istemci sürekli farklı sınıflar kullanmış olacaktır.

İstemci kodun, orjinal sınıfın değişikliklerinden en az şekilde etkilenmesi için, istemci kod ile sınıfların arasına bir katman koyulabilir. Bu kullanım, gerçek hattaki adaptör mantığına benzemektedir. Adaptör, cihaza uygun elektriği vererek bozulmamasını ve cihazın güç çekmesini sağlayacaktır.

Adapter design pattern, bir sınıfın fonksiyonalitesini değiştirmek istiyorsanız işinize yarayabilir. Yazacağınız bir adapter sınıfı, orjinal sınıfınıza adapte olarak ihtiyacınız olan yeni fonksiyonları eklemenizi sağlar.

Singleton Design Pattern

Singleton design pattern, sınıftan nesne türetilirken sadece 1 instance (örnek) oluşturulmasını esas alır. Her nesne oluşturma istediğinizde size daha önce oluşturulan nesne döndürülür.

Singleton design pattern, oluşturacağınız sınıfları hunharca kullanmanızı önler. Basit bir get, set işlemi için bile new operatörüyle yeni nesne oluşturan geliştiriciler, bu mimariyle neye uğradıklarını şaşırırlar.

Factory Design Pattern

Factory design pattern, nesnelerin nasıl daha etkin bir şekilde oluşturulabileceği ile ilgili, getirdiği avantajlar herkesçe kabul edilen bir yazılım tasarım desenidir.

Temel sınıf nesnesini/nesnelerini oluşturan bir factory (fabrika) sınıf vardır. Nesneler temel sınıflar üzerinden değil, factory sınıf üzerinden türetilir.

Client code (istemci kod, bir diğer deyişle sınıfı kullanacak olan kod), factory sınıfa nesne türetme isteği yapar. Factory sınıf ise istemciye uygun bir nesne döndürür. Factory sınıfın temel görevi, istemcinin istediği nesneyi hangi sınıftan nasıl türeteceğini ondan soyutlamaktır.

Arama
RSS
Beni yukari isinla