Tasarım Desenleri — Bölüm 1

Merhaba arkadaşlar, bir süre önce ” Nedir Bu Tasarım Desenleri ? “ yazısında yüzeysel ve teorik olarak bahsettiğim desenleri, bir seri olacak şekilde detaylandırmaya ve örneklerle anlatmaya çalışacağım.

Seriye Creational Patterns (Sanırım oluşturucu desenler diyebiliriz 😀 ), altındaki Abstract Factory patterni ile başlayacağım. Daha sonra her bölümde bir Creational Pattern anlatmaya çalışarak devam edeceğim. Yoğunluğa ve içerik planlamama göre Structural Patterns ( Yapısal Desenler ), Behavioral Patterns ( Davranışsal Desenler ) altındaki belli başlı desenleri de aktarmaya çalışabilirim.

Öncelikle Creational Patterns’leri hatırlayarak başlayalım;
Creational Patterns-Kurucu Desenler: Nesnelerin oluşturulması ile ilgili patternlerdir.

  • Abstract Factory: İlişkili sınıfların oluşturulmasında kullanılır.
  • Factory Method: Birden fazla türetilmiş sınıfın tek bir örneğinin oluşturulmasında kullanılır.
  • Builder: Nesne üretilirken belirli özellikler vermemizi sağlayan desendir.
  • Prototype: Nesnenin bir prototipten kopyalanarak üretilmesinde kullanılır.
  • Singleton: En çok bilinen tasarım desenlerinden biridir. Programın yaşam döngüsü içerisinde bir nesnenin sadece bir kez oluşturulmasında kullanılır.

Şimdi bu bölümün konusu olan ilk patternimiz Abstract Factory patternini incelemeye çalışalım.

Abstract Factory, farklı ürünleri üreten fabrikaların soyutlanması olarak tanımlanabilir. Soyutlama ile beraber daha geliştirilebilir, okunabilir bir kod yapısına ulaşmak ve tekrar eden if-else yapılarından kurtulmak için kullanabiliriz. Öncelikle UML diyagramını görelim, daha sonra da kod örneği ile devam edelim.

Image for post
Image for post
Abstract Factory UML Şeması — codesenior.com

Şimdi de takım kavramı ve bu takımlara ait renk ve stadyum adını döndüren Abstract Factory örneğimize bakalım.

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

Bir daha ki bölümde görüşmek üzere. Kalın sağlıcakla …

Kaynaklar

https://www.dofactory.com/net/abstract-factory-design-pattern
http://www.codesenior.com/tutorial/Soyut-Fabrika-Abstract-Factory-Tasarim-Deseni
https://kodcu.com/2014/08/design-patterns-1-giris-factory-ve-abstract-factory-tasarim-kaliplari-2/

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