Facade design pattern çok karmaşık bir sınıf kütüphanemiz
veya çok karmaşık bir modülümüz olduğunda işimizi kolaylaştırmaktadır. Çoğu
zaman belirli bir işlemi yapmak için çok fazla sayıda nesne üretiriz ve onlar
arasında ilişki kurmamız gerekir. Buda çok fazla sayıda copy – paste yapmamız
demektir. Bu tasarım deseni ile belirli bir işi büyük bir kütüphane içerisinde
sürekli yapıyorsak, bu iş için oluşturulmuş bir arayüz tanımlamak bize fayda
sağlayacaktır. İşin özeti alt sınıflarda yapılan komplex işleri üst katmanda
yaparak hem copy –paste işleminden kurtuluruz hemde client tarafına temiz kod sağlamış
oluruz.
Facade kullanırken dikkat etmemiz gereken önemli bir konu ise facade sınıf ile alt
sınıfların birbirine bağlı olmamasına dikkat etmeliyiz. Yani facade sınıfı
silersek program hala çalışır halde olmalıdır.
Örnek bir uygulama olarak yukarıda ki yapıyı gösterebiliriz.
Facade sınıfımız yani Computer sınıfımız nesne yaratımını kendi constructor’ında
yapıyor ve alt sınıfların metotlarını kendi bünyesine alarak bir köprü görevi
görüyor.
Yorumlar
Yorum Gönder