Factory Deseni Nedir?
İngilizce: Factory Pattern
Factory deseni, nesne oluşturma kararını merkezi bir üretici yapıya taşıyarak istemci kodunu somut sınıflara bağımlı olmaktan korur.
Factory Deseni Nedir?
Factory deseni, kodun “hangi sınıfı nasıl oluşturacağım?” sorusunu her yerde tekrar etmesini engeller. İstemci kod bir arayüz ister; hangi somut nesnenin döneceğine factory karar verir.
Nasıl Çalışır?
Basit bir örnekte ödeme sağlayıcısı seçimi düşünün. PaymentProviderFactory, ülke, para birimi veya mağaza ayarına göre Stripe, iyzico ya da banka sanal POS adaptörü döndürebilir. Çağıran kod sadece charge() metodunu bilir; sınıf oluşturma ayrıntılarını bilmez.
Factory Method yaklaşımında nesne oluşturma kararı alt sınıflara bırakılır. Abstract Factory ise birlikte çalışması gereken nesne ailelerini üretir; örneğin farklı tema, veritabanı veya bulut sağlayıcısı setleri aynı arayüzle oluşturulabilir.
Ne Zaman Kullanılır?
Bu tasarım deseni, nesne tipi çalışma zamanında değiştiğinde, oluşturma adımları karmaşıklaştığında veya dış servis adaptörleri aynı arayüz altında toplanmak istendiğinde yararlıdır. Kargo firması, ödeme yöntemi, rapor formatı veya bildirim kanalı seçimi tipik örneklerdir.
Singleton pattern ile karıştırılmamalıdır. Singleton tek örnek yönetimine odaklanır; factory ise doğru nesneyi üretme kararını düzenler.
İlgili Terimler
Singleton, bir sınıfın uygulama boyunca tek örneğe sahip olmasını sağlayıp paylaşılan kaynak veya konfigürasyona merkezi erişim sunan tasarım desenidir.
Tasarım DeseniTasarım deseni, tekrar eden yazılım tasarımı problemleri için dili ve projeyi aşan, denenmiş çözüm yaklaşımını tarif eder.