Factory Design Pattern Nedir?

Mehmet Demircan
1 min readJun 16, 2020

Merhaba arkadaşlar,
Bu yazımda sıkça kullanılan OOP tasarım kalıplarından Factory Design Pattern’den bahsedeceğim. Bu tasarım kalıbının ne olduğuna ve nerelerde kullanılabileceği hakkında örnek üzerinden anlatacağım.

Factory Pattern yaptığımız işlerde aynı inputları olan, farklı işler yapan fakat birbiriyle ilişkili nesneler oluştururken temiz kod standartlarında bize esneklik sağlayan bir yapıdır. Somut bir örnek olması açısından bir interface türündeki Payment Service ve bu servisten türemiş Recurring ve Cash olarak iki farklı iş yapan ama birbirleriyle benzer iki servis düşünebiliriz. Bu işlemleri ayırmak için inputumuzda bir type kullanılabilir. Derseniz ki “bunu if else veya switch case ile çözebiliriz” Bu söylemde kısmen haklısınız fakat kod temizliği veya artan müşteri ihtiyaçları doğrultusunda esneyen yeni bir ödeme türü eklemek istediğimizde geliştiriciye karar mekanizmasında küçük bir değişiklik ile kolaylık sağlar.

Bir basit örnek üzerinden ilerleyecek olursak,
Hesaplama işi yapan ve interface’den türemiş Sin ve Cos class’larımız;

Hesaplanması istenilen ve istek olaran dışardan alınan Enum type’larımız;

İstek doğrultusunda çağrılan servisi handle eden Factory class’ımız;

Hangi servise yönlendireceğimize karar verdiğimiz controller’ımız;

Projemizin kaynak kodlarına buradan ulaşabilirsiniz.
Bildiklerimi olabildiğince anlatmaya çalıştım, umarım faydalı olmuştur.

--

--