Yönetme Java birçok parametrelerle kurucular
Bizim bazı projelerinde, zincir gider olarak daha fazla parametre ekler sınıf bir hiyerarşi var. Alt sınıfların bazıları da sadece Süper kurucu geçirilen 30 parametreleri, 28.
Guice gibi bir şey ile otomatik Dİ kullanarak güzel olacağını kabul ediyorum, ama bazı teknik nedenlerden dolayı, bu özel projeler Java ile sınırlı.
Bir kongre organize değişkenleri alfabetik olarak yazın çalışmıyor çünkü eğer bir türüdür refactored (Çember olduğunu geçirilmesi için bağımsız değişken 2 Şimdi bir Şekli) olabilir aniden olması için.
Bu soru "Eğer sorun buysa, tasarım düzeyi" eleştiriler, ama herhangi bir görüş arıyorum. yanlış yapıyorsun özel ve dolu olabilir
CEVAP
Builder Tasarım Deseni yardımcı olabilir. Aşağıdaki örneği ele alalım
public class StudentBuilder
{
private String _name;
private int _age = 14; // this has a default
private String _motto = ""; // most students don't have one
public StudentBuilder() { }
public Student buildStudent()
{
return new Student(_name, _age, _motto);
}
public StudentBuilder name(String _name)
{
this._name = _name;
return this;
}
public StudentBuilder age(int _age)
{
this._age = _age;
return this;
}
public StudentBuilder motto(String _motto)
{
this._motto = _motto;
return this;
}
}
Bu bize kod yazmak sağlar
Student s1 = new StudentBuilder().name("Eli").buildStudent();
Student s2 = new StudentBuilder()
.name("Spicoli")
.age(16)
.motto("Aloha, Mr Hand")
.buildStudent();
Eğer gerekli bir alan (muhtemelen adı gereklidir) sonra gidersek Öğrenci yapıcı bir istisna yapabiliriz. Ve bize bu telefon, herhangi bir emir eşit derecede iyi çalışır beri bağımsız değişken herhangi bir kaydını tutmak gerek kalmadan varsayılan/isteğe bağlı bağımsız değişkenleri sağlar.
Kurucular Java istisnalar atabilir?...
Kullanım Başlatıcılar vs Kurucular Jav...
Neden't Java kurucular senkronize...
Scala, nasıl birden fazla kurucular il...
Java "-by pass-başvuru" veya...