Factory Design Pattern Nedir?

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.

--

--

Software Engineer — https://www.linkedin.com/in/mehmetnuridemircan/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store