Bu yazımda size Factory adında nesneye dayalı yazılım şablonunu (Object-Oriented Design Pattern) anlatacağım. Factory şablonunu şöyle anlatayım. Düşünün ki siz painte benzer bir program yazacaksınız ve bu programda siz sistemi kullanan bir kullanıcısınız ve siz çizmek istediğiniz objeyi söylüyorsunuz bizim factory adındaki sınıfımızda gidip bu objeyi sizin için yaratıyor. Daha programlama babında konuşacak olursak. Siz Shape adında genel bir interface yazıyosunuz. Bu interface side kullanan Rectangular, Circle vb objeler var. Siz de bu durumda Client sınız. Client 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 veriyosunuz. Factory de bu parametreye göre size o objeden dönüyor.
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; } }