Projemin çeşitli sınıflar (çoklu argümanlar, bazı zorunlu, bazı isteğe bağlı, vs.) için Oluşturucu desen kullanın. Bu sınıflar değişmezdir (koleksiyon alıcıları için ayarlayıcılar, derin kopyalar yoktur). Oluşturucu Desen ve Sebat
şimdi varsayılan kurucu + belirleyiciler ile nesneleri kuran bir kalıcılık çerçevesini kullanarak bir veritabanında bu nesneleri depolamak için çalışıyorum. Yapımcılarımı çok sevmiyor!Ben POJOs bu kurulum aşağılamak ve güncel tasarım (esneklik, değişmezlik, inşaat güvenliği) avantajlarını kaybetmek istemiyoruz.
Bu durumda kullanılabilecek geçici çözümler üzerinde herhangi bir geri bildirim bekleriz (Ben bu sınıfların her biri sarmak olabilir ama bu sınıfların sayısını iki katına olurdu ve doğrusu bu önleyeceğini).
bir post aslında işaret eden Oluşturucu desen belirli bir dezavantaj olarak.
DÜZENLEME
Bir answer özel yapıcı/ayarlayıcıları kullanmayı önermektedir ancak sınıfın alanlar benim böyle değil ki, nihai değilse sadece çalışır.
SON DÜZENLEME herkese
teşekkür ederiz.
Ne benim son çözüm bu gibi görünüyor ve (ben MongoDB + Morfin kullanıyorum kaydı için) çalışıyor olacağını düşünüyorum:
class AClass {
private final String aField;
private final AClass() {
aField = "";
}
//Standard builder pattern after that - no setters (private or public)
}
Setler ve varsayılan kurucu ekleyemezsiniz, ancak bunları özel hale getiremez misiniz? – DaveJohnston
İyi bir soru - Bunu kontrol edeceğim – assylias
Biliyorum, hazırda bekletme özel setler ve kurucuyu kullanabilir, sadece senin için özel bir durumun olup olmadığını merak ediyorsun. – DaveJohnston