- Bu üç örüntü birbirinden nasıl farklı?
Fabrika: Örnekleme mantığını istemciye göstermeden nesneler oluşturur.
Fabrika Yöntemi: Nesne oluşturmak için bir arabirim tanımlayın, ancak alt sınıfların hangi sınıfı başlatacağına karar vermesine izin verin. Fabrika yöntemi, bir sınıfın alt sınıflara örnek oluşturmayı ertelemesine
Özet Fabrika: İlgili veya bağımlı nesnelerin ailelerini, somut sınıflarını belirtmeden oluşturmak için bir arayüz sağlar.
AbstractFactory deseni, nesne oluşturma sorumluluğunu başka bir sınıfa devretmek için kompozisyon kullanır, Fabrika yöntemi tasarım deseni miras kullanır ve nesne oluşturmak için türetilmiş sınıf veya alt sınıfa dayanır
- Hangisi ne zaman kullanılır?
Fabrika: Müşteri sadece bir sınıfa ihtiyaç duyar ve hangi somut uygulamayı aldığını umursamaz.
Fabrika Metodu: Müşteri, çalışma zamanında hangi somut sınıfları oluşturması gerektiğini bilmez, ancak sadece işi yapacak bir sınıf almak ister.
AbstactFactory: Sisteminizin birden fazla ürün ailesi oluşturması gerektiğinde veya uygulama ayrıntılarını göstermeden bir ürün kütüphanesi sağlamak istediğinizde.
Özet Fabrika sınıfları genellikle Fabrika Yöntemi ile uygulanır. Fabrika Yöntemleri genellikle Şablon Yöntemleri içinde çağrılır.
- Ve ayrıca mümkünse, bu modellerle ilgili herhangi bir java örneği var mı?
Fabrika ve Fabrika Metodu
niyet:
Nesne oluşturmak için bir arabirim tanımlayın, ancak alt sınıfların hangi sınıfı başlatacağına karar vermesine izin verin. Fabrika Yöntemi, bir sınıfın alt sınıflara örnek oluşturmayı ertelemesini sağlar.
UML diyagramı :
Ürün: Factory yönteminin oluşturduğu nesnelerin bir arayüzünü tanımlar.
ConcreteProduct: Ürün arayüzünü uygular
Oluşturan: Factory yöntemini beyan eder
ConcreateCreator: ConcreteProduct örneğini döndürmek için Fabrika yöntemini uygular
Sorun bildirimi: Oyun arayüzünü tanımlayan Fabrika Yöntemlerini kullanarak bir Oyun Fabrikası oluşturun.
Kod snippet'i:
Fabrika düzeni. Fabrika yöntemleri ne zaman kullanılır?
Diğer yaratıcı desenlerle karşılaştırma:
Tasarım , daha fazla esnekliğin gerekli olduğu yeri keşfederken Fabrika Yöntemini (daha az karmaşık, daha özelleştirilebilir, alt sınıflar çoğalır) kullanarak başlayın ve Soyut Fabrika, Prototip veya Oluşturucu'ya (daha esnek, daha karmaşık) doğru ilerleyin.
Özet Fabrika sınıfları genellikle Fabrika Yöntemleri ile uygulanır , ancak Prototip kullanılarak da uygulanabilir
Daha fazla okuma için referanslar: Kaynak yapımı tasarım modelleri