Design Pattern – Factory Pattern Nedir?

Bu yazıda Factory Pattern nedir? Hangi amaç ile kullanılır? Ne gibi durumlarda kullanmamız gerekir? Konularından bahseceğim.

Oluşturduğumuz bir interface ya da abstract sınıftan türeterek başka bir sınıf oluşturma işlemine verilen addır Factory Pattern. Oldukça sık kullanılan bu pattern aynı özelliği kullanmak isteyen sınıflar tarafından kullanılır.

Daha somut bir örnek ile açıklayalım.

Yapacağımız örnekte bir Araba’nın özelliklerini bildirecek bir yazılım yapacağız. Kullanıcı araba seçecek ancak seçilen arabanın hatchback mi yoksa sedan özellikli olacağını bilmiyoruz ve bu değişkenlik gösterebilir. Kullanıcının seçimine bırakılan bu işlemde kullanıcının her seçiminde kod değişikliği yapmamak için Factory Pattern’e uygun bu örneği yazacağız.

Örneğimizin diagramını bir bakalım.

Şimdi Araba interfacemizi oluşturalım.

Arabamızın bir tipi olucak Hatchback ya da sedan.

Şimdi Hatchback ya da Sedan tiplerini oluşturacak Modellerimizi oluşturalım. Bu  modeller arabaya bağlı olacağı için Araba interfacemizi implement edeceğiz.

Modellerimizi oluşturduk. Şimdi sıra geldi en önemli yere. Yapmak istediğimiz şey. Kullanıcı ne zaman araç tipi seçerse o araç tipi nesnesi oluşturulmalı ve ardından işleme devam etmeli. Bunun için bir “Factory” oluşturacağız.

Kullanıcı araba istiyor ve tipini seçecek. Tip seçildiği anda ilgili nesne oluşturulacak. Yukarıda yaptığımız işlem bu. Şimdi sıra geldi programımızı çalıştırmaya. Main classımızı oluşturalım.

Programımızdan iki adet araba istedik ve bu arabalar Araba nesnesinden üretilerek ArabaFactory’e göndererek ilgili nesnemizin oluşturulmasını sağladık.

Sonuç olarak ekranda şöyle bir görüntü olmalı.


Projenin Kaynak Kodlarını Github Üzerinden Görünlüte / İndir 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir