Tasarım Desenleri — Bölüm 3

Merhaba arkadaşlar, bugün tasarım desenlerinden bahsettiğim seride 3.bölüme yani Builder Design Pattern den bahsedeceğimiz bölüme geldik.

Öncelikle kısaca Builder Design Pattern nedir , neden kullanılır bahsedip daha sonra örnek bir uygulama ile sizlere anlatmaya çalışacağım.

Builder Design Pattern, nesnenin oluşması ile ilgili olan Creational Patterns altında yer alır.

Hemen neden ve ne zaman kullanırız kısmına gelelim. Elimizde birden fazla kombinasyonla kullanmak istediğimiz nesnemiz olduğu zaman, nesnenin inşasında birden fazla, farklı adımlarla üretim yapmak istediğimiz zaman, nesnenin sürekli geliştirilebilir olmasını istediğimiz zaman bu patternden yararlanırız.
Nesneler üretilirken yapıcı metotlardan (constructor) yararlanarak (overload ederek) farklı kombinasyonlarda üretilmesini sağlayabiliriz. Fakat nesne büyüdükçe ve kombinasyonlar arttıkça constructorların sayısı giderek artmaya ve kodun yönetilebilirliğini azaltmaya başlar. Bu yüzden bu gibi durumlarda Builder Patternden yararlanırız.

Şimdi geçelim örneğimize;

Diğer patternlerde de yaptığım gibi ben futbol takımları üzerinden ilerlemek istiyorum. Senaryomuz şu şekilde olacak takım (team nesnemiz) üreten bir director klasımız ve iki farklı takım üretecek şekilde builderımızdan türemiş klaslarımız olacak. Böylece team nesnesinin farklı kombinasyonlarını üretmiş olacağız.

Evet arkadaşlar sizlere Builder Patterni anlatmaya çalıştım. Umarım faydalı olmuş, anlaşılmıştır. Kalın sağlıcakla …

Kaynak kod => https://github.com/EnesAys/DesignPatterns

Kaynaklar

http://enesaysan.com/tag/tasarim-desenleri/
https://www.dofactory.com/net/builder-design-pattern
https://www.turkayurkmez.com/builder-design-pattern/
https://www.tutorialspoint.com/design_pattern/builder_pattern.htm
https://refactoring.guru/design-patterns/builder

Software Developer at Sosyopix

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