JavaProgramlama

Builder Tasarım Deseni

Builder Tasarım Deseni karmaşık objelerin tasarımını adım adım gerçekleştirip en son da istenilen objeyi döndürmek için kullanılır.

Hepimizin sıklıkla karşılaştığı bir sınıf constructor(yapıcı metot) görüntüsünü aşağıda veriyorum. Fazla yabancı değiliz buna.

Bir pizza sınıfımız var ve bunun objesini oluştururken önümüze hangi parametreler ile oluşturabileceğimize dair seçeneklerden bir kaçı.Bu Constructor tasarım desenine Teleskobik constructor  deseni deniyor.Bu patterndeki problem 4-5 parametreli constructorları sırasıyla hatırlamak kolay olmuyor.

Bu teleskobik dizaynın yanı sıra bir de şöyle bir alternatifimiz var.

Burada da pizzanın boyutu verilerek bir nesne oluşturulmuş. Ve her bir özelliği yaratılırken aynı nesneyi çağırmış.Buradaki sorun ise nesne oluşturulmuş.Ve bu nesneyi oluşturduktan sonra her özelliğini tek tek çağıra çağıra doldurmuşuz.Haliyle Thread safety sağlamak için ekstra efor sarf edeceğiz.

Daha iyi bir alternatif olarak Builder Design Pattern’i kullanabiliriz. Builder tasarım desenindeki mantık her işlemi adım adım yaparak en son bir nesne sunmak.Örneğin ben bir Car.class ‘ı oluşturdum ve inner class olarak bir Builder yazdım.

Artık bir araba nesnesi oluştururken kolayca şu şekilde oluşturabilirim:

Builder Pattern’i bir kartopu gibi düşünebiliriz. Nasıl ki kartopu yuvarlaya yuvarlaya büyür ve istediğimiz büyüklükte bir kartopu oluştururuz.Builder tasarım deseninde de nesnenin parçalarını tek tek inşa eder ve en son istenilen nesneyi oluştururuz.

Bir yanıt yazın

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

Göz Atın
Kapalı
Başa dön tuşu