Skip to content

Factory Method Tasarım Deseninin Kullanımı

Merhaba, tasarım desenlerini uygulamalı olarak anlatacağım bir yazı serisine başlıyorum. İlk olarak Factory Method tasarım deseninden bahsedeceğim. Umarım anlaşılır ve az hatalı bir yazı olur.

Tasarım Desenleri ve Factory Method Tasarım Deseni Nedir?

Tasarım desenleri, yazılım projelerini geliştirirken çeşitli amaçların sağlanması ve projelerin gelecekteki ihtiyaçlara karşı daha rahat ve dinamik bir şekilde değiştirilebilir olmasını sağlamak amacıyla kullanılan ortak yaklaşımlardır. Bunu sağlamak için nesne yönelimli programlama teknikleri kullanılmaktadır.

Factory Method tasarım deseni ise, kullanıcıların ana programları içerisinde kullanacağı asıl sınıf nesnelerini burada üretmek yerine, bu sınıfların implemente ettiği bir interface ve factory method aracılığı ile sınıfları soyut şekilde ana programda kullanmaktır.

C# ile Factory Method Tasarım Deseni Uygulaması

Daha iyi anlamak için basit bir hesap makinesi sisteminde tasarım desenimizi uygulayalım. Amaç; ana program içerisinde belirtilecek “Çıkarma”, “Toplama” ve “Çarpma” gibi metinsel ifadeler ile asıl sınıfları üretmeden, interface üzerinden ana program içerisinde soyut bir şekilde kullanmaktır. Uygulamanın UML diyagramı aşağıdaki gibidir.

Uygulama UML Diyagramı

İlk olarak aşağıdaki gibi, Calculate metotu imzasına sahip olan ICalculator interface’i oluşturalım.

ICalculator Interface

Daha sonra oluşturduğumuz interface’i implemente edecek olan Plus, Minus ve Multiplication sınıflarını oluşturalım.

Plus Sınıfı
Minus Sınıfı
Multiplication Sınıfı

Daha sonra ise ana programımız olan CalculateService kısmından gelen isteğe göre alacağımız nesne için factory sınıf olan CalculateFactory sınıfını aşağıdaki gibi oluşturalım.

Factory Sınıfı

Oluşturulan bu yapı ile tasarım deseni ana program içerisinde aşağıdaki gibi kullanılabilir. Factory sınıfından bir nesne üretilmiştir. Üretilen nesnenin CreateCalculation metotu kullanılarak interface’i implemente etmiş olan sınıflar ana programda kullanılabilmektedir.  Aşağıda örnek bir kullanım ve programın çıktısı verilmektedir.

Ana Program
Ana Program Çıktısı

Sonuç

Factory Method tasarım deseni ile birlikte UML ve bahsetmesem de interface ayrı sınıflarda implemente edildiği için polimorfizm kavramlarını da içeren yazımın sonuna geldim. Eleştiri ya da görüşleriniz için benimle yasinatilgan60@gmail.com üzerinden iletişime geçebilirsiniz. İyi günler…

Kaynaklar

https://www.geeksforgeeks.org/factory-method-design-pattern-in-java/

Published inC#Design PatternsOOP

Comments are closed.

Yasin Atılkan © 2025 Copyright | Author WordPress Theme by Compete Themes