Genel

Java Tasarım Desenleri: Factory Method Pattern – Design Pattern

Yazılım geliştirme sürecinde, tekrar kullanılabilirlik, esneklik ve sürdürülebilirlik gibi temel prensiplere odaklanmak son derece önemlidir. Tasarım desenleri, bu prensipleri uygulamak için güçlü araçlar sunar. Bu yazıda, Java’da sıkça kullanılan bir tasarım deseni olan “Factory Method Pattern”i inceleyeceğiz. Factory Method Pattern, nesnelerin oluşturulmasını taşıyan ve alt sınıfların bu süreci kontrol etmesine olanak tanıyan bir yapısal desen olarak öne çıkar.

  1. Factory Method Pattern Nedir?

Factory Method Pattern, Creational Design Patterns (Yaratımsal Tasarım Desenleri) kategorisine aittir ve nesne oluşturma sürecini sınıflar arasında soyutlar. Bu desen, alt sınıfların nesne oluşturma işlemini gerçekleştireceği bir metod tanımlar ve böylece üst sınıfların somut nesne oluşturma işleminden bağımsız olmasını sağlar.

  1. Factory Method Pattern’in Avantajları
  • Esneklik: Factory Method Pattern, yeni nesnelerin oluşturulma sürecini alt sınıflara devrederek esneklik sağlar. Bu sayede, yeni nesneler eklemek veya var olanları değiştirmek kolaylaşır.
  • Sürdürülebilirlik: Kodun sürdürülebilirliği artar çünkü nesne oluşturma kodu bir araya getirilir ve merkezi bir noktada yönetilir.
  • Test Edilebilirlik: Factory Method Pattern, kodun test edilebilirliğini artırır çünkü nesne oluşturma mantığı somut sınıflardan soyutlanır ve test edilebilir hale gelir.
  1. Factory Method Pattern Nasıl Kullanılır?

Factory Method Pattern, genellikle bir abstract sınıf veya interface üzerinde tanımlanan soyut bir Factory metoduyla başlar. Bu metot, sınıfların gerçek nesneleri döndürmek için uyguladığı bir metottur. Örneğin, bir Araç Factory’si soyut bir sınıf olabilir ve alt sınıflar (Örneğin, ArabaFabrikası, KamyonFabrikası) gerçek araç nesnelerini oluşturur.


public abstract class AracFabrikasi {
    public abstract Arac aracUret();
}

Ardından, alt sınıflar soyut Factory metotunu uygular ve kendi özelleştirilmiş nesnelerini döndürür.

public class ArabaFabrikasi extends AracFabrikasi {
    @Override
    public Arac aracUret() {
        return new Araba();
    }
}

public class KamyonFabrikasi extends AracFabrikasi {
    @Override
    public Arac aracUret() {
        return new Kamyon();
    }
}

Son olarak, istemci sınıflar Factory metodunu kullanarak nesneleri oluşturur.

AracFabrikasi fabrika = new ArabaFabrikasi();
Arac araba = fabrika.aracUret();

Factory Method Pattern, nesne yaratma işlemini soyutlayarak esnek, sürdürülebilir ve test edilebilir kod yazmamızı sağlar. Bu desen, Java’da geniş bir şekilde kullanılmakta ve yazılım projelerinde yaygın olarak karşımıza çıkmaktadır. Ancak, gereksiz karmaşıklığı önlemek için dikkatli bir şekilde kullanılmalıdır.

Konuyla ilgili youtube’taki videoma erişmek için:

Lütfen kanala abone olmayı, like atmayı unutmayınız.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir