Ich habe einige große Objekte (mehr als 3 Felder), die unveränderlich sein können und sollten. Jedes Mal, wenn ich auf diesen Fall stoße, neige ich dazu, Konstruktor-Abscheulichkeiten mit langen Parameterlisten zu erstellen.
Es fühlt sich nicht richtig an, ist schwer zu bedienen und die Lesbarkeit leidet.
Es ist noch schlimmer, wenn die Felder eine Art Sammlungstyp wie Listen sind. Ein einfaches addSibling(S s)
würde die Objekterstellung so sehr erleichtern, macht das Objekt jedoch veränderlich.
Was benutzt ihr in solchen Fällen?
Ich bin auf Scala und Java, aber ich denke, das Problem ist sprachunabhängig, solange die Sprache objektorientiert ist.
Lösungen, die mir einfallen:
- "Konstruktor-Greuel mit langen Parameterlisten"
- Das Builder-Muster