Yazan : Şadi Evren ŞEKER

Fabrika metotları tanım itibariyle sabit metotlardır (static methods). Yani bir fabrika metodu (factory method) çağrılmak için bir nesneye ihtiyaç duymaz, doğrudan sınıfa (Class) erişilerek çağrılabilir. Fabrika metotları bunun yanında değer olarak bir nesne döndüren metotlardır. Yani bir fabrika metodu çağrıldığında dönüş değeri olarak bir sınıftan türetilmiş bir nesne beklenir.

Bu anlamda zaten isminden de anlaşılacağı üzere fabrika metotları, nesne üreten metotlardır. Bir sınıfın tanımı içerisinde yer alırlar ve bu sınıfa doğrudan erişilerek nesne üretirler.

Örnğin kartezyen uzaydaki (cartesian space) bir koordinatın, kutupsal uzaydaki bir koordinata (polar coordinate) çevrilmesi işlemini ele alalım. Kartezyen uzay değerlerini tutan bir sınıfımız olacak ve çevrim işlemini yapan bir metodumuzu bulunacaktır. Bu metot yapısı itibariyle kutupsal koordinatta nesneler üretmek zorundadır. İştu bu üretim işlemi dolayısıyla çevrim yapan bu metoda fabrika metodu ismi verilir.

Fabrika metotları ayrıca bir tasarım kalıbıdır (design pattern). Yani nesne yönelimli programlama da sıkça kullanıldığı için hazır bir kalıp haline getirilmiştir ve örneğin UML sınıf diyagramlarında (class diagrams) kullanılan bir kalıp olarak hazırlanmıştır. Yazılım projelerinin tasarımı aşamasında bu kalıplardan faydalanılarak büyük ölçekteki projelerin geliştirilmesi hızlandırılmakta ve hata ihtimali azaltılmaktadır. Bir fabrika metodu aşağıdaki sınıf diyagramı kalıbı ile gösterilebilir:

Yukarıda görüldüğü üzere bir üreteç soyut sınıfından (abstract class)
miras ilişkisindeki (inheritance) bir nesne tarafından bir nesne üretilmektedir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir