Aslında patternlerden ve design dan bahsederken herhangi bir dil kapsamında konuşmuyor olmak lazım. Bunlar implementasyon detayları.
Her design pattern belirli bir sorunu çözmek için ortaya çıkmıştır, factory de aynı şekilde. Bir interface den türeyen birbirinden farklı concrete classlardan belirli şartlara göre yeni instance lar üretilmek istenildiğinde factory ve abstract factory pattern kullanılabilir.