2010-09-04 17 views
6

Neden yapıcıdaki farklı oluşturma adımlarını uygulayamıyoruz? yapı adımları argüman alırsa, neden yapıcı için argüman olarak sağlanamaz ve nesneyi oluşturmak için kurucu içinde kullanılabilir. AFAIK, Builder modelinde, istemcinin oluşturulacağı belirli bir nesne; Öyleyse, sınıfın yaratılan nesnesinde argümanlar içeren bir Oluşturucu yerine bir oluşturucu kullanmanın avantajı nedir?Builder kalıbı, Class nesnesindeki argümanlarla neden bir Oluşturucudan daha iyidir?

cevap

5

Oh! Anladım. Vikipedi örneğine bakıyordum ve Builder'ın neden yardımcı olduğunu anladım. İstemci, çok karmaşık olduğu için kurucuya hangi argümanların geçeceğini bilmediği ve bu nedenle kurucuyu doğrudan arayabileceği ve nesneyi alamayacağı durumlarda yardımcı olur. Sonuç olarak, kuruculara hangi argümanların geçeceğini bilen ve böylece nesneyi oluşturan Beton Üreticileri'nden yardım ister.

Temel olarak, eğer istemci çoğunlukla argümanlarını nesnesi oluşturulmuş olan Sınıfın yapıcısına iletecekse, o zaman Builder bu işe yaramaz. Prototipi kullanmak belki daha iyidir. Öte yandan, eğer sınıftan oluşturulacak argümanları bu sınıfa aktararak (veya setçileri çağırarak) sınıftan oluşturulabilecek küçük bir sonlu küme nesnesi varsa ve bunlar sıklıkla kullanılanlarsa, o zaman Oluşturucu sınıfındaki şeyleri geçerek bu argümanı kapsüllemek ve bunları sizin için nesneleri oluşturmak için kullanın.

İlgili konular