Skip to content

Factory

Bu yazımda size Factory adındaki nesneye dayalı yazılım şablonunu (Object-Oriented Design Pattern) anlatacağım. Factory şablonunu şöyle anlatayım. Painte benzer bir program yazmanız gerekiyor ve bu programda  kullanıcının birden bir çok şekile ihtiyacı var. Kullanıcı şekil seçeneklerinden birine basar ve onunla boyama işlemini yapar. Tıpkı kullanıcı gibi bizde yazılımsal olarak bir şekli seçip, o şekli yaratıyoruz. Daha programlamacı gözüyle bakarsak, Shape adında genel bir interface yazıyoruz. Bu interfacesi kullanan Rectangular, Circle vb sınıflar var. Biz her sınıfların sadece Shape sınıfından haberdar olmalısını istiyoruz çünkü çocuk sınıfların(child classes) detaylarının bilinmesini istemiyoruz. Dolayısıyla, yeni bir obje yaratılması için Factory adlı sınıfa bir parametreyle (bunun ne olacağını ve türünü siz seçebilirsiniz) emir veriyoruz. Factory de bu parametreye göre bize istediğimiz sınıfın bir nesnesinden dönüyor. Böylece çocuk sınıfların detaylarını diğer nesnelerden saklamış oluyoruz.

factory

public interface Shape{}
public class Circle implements Shape{}
public class Rectangular implements Shape{}
public class Factory{
	public Shape getShape(String shapeName){
		if(shapeName.equals("circle"))
			return new Circle();
		else if(shapeName.equals("rectangular"))
			return new Rectangular();
		else
			return null;
	}
}

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *