Oluşturucu Desenlerin ( Creational Patterns ) ilki olan fabrika yönetemine (factory method) neden ihtiyaç duyuyoruz bundan bahsetmekte fayda görüyorum.
Factory Patternların genel özellikleri ise;
- Factory method static bir method olarak nesne üretir.
- Factory Pattern amacı nesne üretmektir.
Misal olarak özellikle benzer işleri yapan benzer methodları ele alabiliriz. Niçin benzerler? ve benzerliklerinden dolayı da multemel ki parametrelerinde de bir benzerlik söz konusu olabilir. Bu case de önümüze çıkacak sorunlar şöyle olabilir. Overloading ve “optional parameter hell” denilen durum.
Buarada devreye factory method giriyor. Pseudo olarak açıklayacak olursak benzer iki tane methodumuz var ve parametreleri de benzer. Tek methodda base şeklini yazıyoruz ki “private” olarak tanımlıyoruz. Daha sonra da “static” olarak yazdığımız methodumuz içerisinde “base” şeklinde yazdığımız methodu çağrıyoruz. Parametre farklılıklarına gelince static merhod içerisinde çağırdığımız “base” olan methodumuzu çağırmdan önce parametrelerimizi istediğimiz gibi düzenleye biliriz.
Şimdi gelelim kullanımına ki zaten bizim “static” iki tane methodumuz vardı. Herhangi bir yerden direkt methodumuzu çağrıyoruz. Yani “new”, “contructor” kullanmadan direkt static methodla işimizi görüyoruz.
Ayrıca ana hedefimiz obje üretmek olduğu için lazy initialization, singleton ve multiton desenleriyle de birlikte kullanım alanları doğmaktadır.
Not: Yakında uml diyagram, özgün bir senaryo ve kodları eklemeye çalışacağım.
İlk Yorumu Siz Yapın