Creational Patterns (Yaratıcı Tasarım Desenleri) grubu altında yer alan Factory Metod tasarım deseni birbirinden farklı ancak aynı grup altında toplayabileceğimiz nesnelerin isteğe bağlı olarak birleşmesi ile yeni bir nesne üretilmesini sağlamaktadır.
Bu durumu şu şekildeki bir senaryo ile daha kolay kavrayabiliriz.
Resim-1
Elimizde aşağıdaki malzemelerimizin olduğunu düşünelim.
- Un
- Şeker
- Yağ
- Yumurta
- Krema
- Meyve
- Kakao
Bu malzemeler ile yapabileceğimiz ürünleri düşünürsek basit olarak;
- Helva
- Kek
- Meyveli Pasta
- Kakaolu Pasta
ürünlerini üretebiliriz.
Şimdi elimizde bir makinamız olduğunu düşünelim ve bu makinamıza ait bölmelere bu malzemelerimizi ekleyelim. Artık makinamızın üzerinde bulunan ürün düğmelerine bastığımızda bu makinamız otomatik olarak bu malzemeleri kullansın ve seçmiş olduğumuz ürünü üretsin.
İşte Factory Metod Tasarım deseni tam olarak bu makinanın görevini üstlenmektedir.
Şimdi belirtmiş olduğumuz bu makinamızı Factory Metod Tasarım Deseni ile tasarlayalım.
İlk yapmamız gereken Ürünlerimizi oluşturacak nesnelere ait ortak tip tanımını yapmak olacaktır.
Resim-2
Ortak tip tanımımızı yaptıktan sonra ürünlerimizi oluşturacak olan elimizdeki malzemelerin tanımlarını yapabiliriz.
Resim-3
Resim-4
Resim-5
Resim-6
Resim-7
Resim-8
Resim-9
Malzemelerimizin tanımını yaptıktan sonra artık ürünlerimizin oluşturmasını sağlayacak işlem tanımını gerçekleştirebiliriz.
Resim-10
Ürün üretilmesini sağlayan işlemimizi tanımladıktan sonra sıra üretim yapılacak ürünlerimize geldi.
Resim-11
Resim-12
Resim-13
Resim-14
Ürünlerimizin tanımlamaları da bittikten sonra artık ürünlerimizi üretme işlemini gerçekleştirebiliriz.
Bunun için gerekli olacak tek şey istemci tarafından hangi ürünü üreteceğimizin belirlenmesidir. Tasarım desenimiz belirlemiş olduğumuz ürün içeriğinde kullanılan malzemeleri hazırlayarak ürünün oluşturma işlemini gerçekleştirecektir.
Resim-15
Resim-16
Hazırladığımız tasarım desenimize yeni malzeme ve yeni ürün ekleme işleminde İstemci tarafındaki kodda hiçbir değişiklik yapmamıza gerek yoktur. Tek yapmamız gereken Yeni eklediğimiz ürünün üretilmesini talep etmek amacıyla ürüne ait sınıftan yeni bir nesne oluşturma isteği gerçekleştirmektir.
Bu makalede kullanılan tasarım desenine ait kodu indirmek için buraya tıklayın.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
Gayet açıklayıcı bir anlatım.
Rar dosyasının şifresi nedir acaba ?
mshowto