Fabrika Tasarım Deseni

fav gif
Kaydet
Alıntıla
kure star outline

Fabrika Tasarım Deseni, yazılım mühendisliğinde nesne oluşturma sürecini soyutlayarak, istemcinin (client) oluşturulacak nesnenin somut sınıfını bilmeden nesne oluşturmasına olanak tanıyan bir yaratıcı (creational) tasarım desenidir. Bu desen, istemci kod ile nesne oluşturma mantığı arasındaki bağımlılığı azaltarak, esnek ve sürdürülebilir bir yazılım mimarisi sağlar.

Tarihçe

Tasarım desenleri kavramı, ilk olarak mimar Christopher Alexander tarafından 1977 yılında yayımlanan "A Pattern Language" adlı eserinde tanımlanmıştır. Bu kavram, yazılım mühendisliğine 1994 yılında Erich Gamma, Richard Helm, Ralph Johnson ve John Vlissides tarafından yazılan "Design Patterns: Elements of Reusable Object-Oriented Software" adlı kitapla kazandırılmıştır. Bu kitapta tanımlanan 23 tasarım deseni arasında Fabrika Yöntemi (Factory Method) de yer almaktadır. 

Temel Bileşenler

  1. Ürün (Product): Oluşturulacak nesnelerin ortak arayüzünü veya soyut sınıfını tanımlar.
  2. Somut Ürünler (Concrete Products): Ürün arayüzünü uygulayan ve farklı türde nesneleri temsil eden sınıflardır.
  3. Yaratıcı (Creator): Ürün nesnelerini oluşturan fabrika yöntemini tanımlar. Bu sınıf, ürünlerin oluşturulma sürecini soyutlar.
  4. Somut Yaratıcılar (Concrete Creators): Fabrika yöntemini uygulayarak belirli türde ürün nesneleri oluşturan sınıflardır.

Kullanım Alanları

  • Oluşturulacak nesnenin tam sınıfının önceden bilinmediği durumlarda.
  • İstemci kodun, oluşturulan nesnelerin somut sınıflarına bağımlılığını azaltmak istendiğinde.
  • Yeni türde nesnelerin sisteme kolayca entegre edilebilmesi gerektiğinde.
  • Nesne oluşturma sürecinin merkezi bir noktada kontrol edilmesi istendiğinde.

Avantajları

  • Gevşek Bağlılık: İstemci kod ile nesne oluşturma mantığı arasındaki bağımlılığı azaltır.
  • Genişletilebilirlik: Yeni ürün türlerinin sisteme eklenmesini kolaylaştırır.
  • Tek Sorumluluk İlkesi: Nesne oluşturma işlemi, ayrı bir sınıf tarafından yönetildiği için sınıfların sorumlulukları ayrılır.
  • Kodun Yeniden Kullanılabilirliği: Ortak nesne oluşturma mantığı, farklı istemciler tarafından yeniden kullanılabilir.

Dezavantajları

  1. Sınıf Sayısında Artış: Her yeni ürün türü için yeni bir somut yaratıcı sınıf oluşturulması gerekebilir.
  2. Kod Karmaşıklığı: Basit uygulamalarda, bu desenin kullanımı gereksiz karmaşıklığa yol açabilir.

Örnek Uygulama

Aşağıda, Java dilinde bilgisayar türlerine göre nesne oluşturan bir fabrika deseni örneği verilmiştir:

Bu örnekte, ComputerFactory sınıfı, istemcinin belirttiği türde (PC veya Server) bir Computer nesnesi oluşturur. İstemci, oluşturulan nesnenin somut sınıfını bilmeden, yalnızca Computer arayüzü üzerinden işlem yapar.​


Sen de Değerlendir!

0 Değerlendirme

Yazar Bilgileri

Avatar
YazarUğurcan Soruç27 Nisan 2025 14:51

Etiketler

Tartışmalar

Henüz Tartışma Girilmemiştir

"Fabrika Tasarım Deseni" maddesi için tartışma başlatın

Tartışmaları Görüntüle

İçindekiler

  • Tarihçe

  • Temel Bileşenler

  • Kullanım Alanları

  • Avantajları

  • Dezavantajları

  • Örnek Uygulama

Bu madde yapay zeka desteği ile üretilmiştir.

KÜRE'ye Sor