Construindo objetos grandes e imutáveis sem usar construtores com longas listas de parâmetros
Eu tenho alguns objetos grandes (mais de 3 campos) que podem e devem ser imutáveis. Toda vez que encontro esse caso, costumo criar abominações de construtores com longas listas de parâmetros. Não parece certo, é difícil de usar e a legibilidade sofre.
É ainda pior se os campos forem algum tipo de coleção, como listas. Um simplesaddSibling(S s)
facilitaria muito a criação de objetos, mas tornaria o objeto mutável.
O que vocês usam nesses casos? Estou no Scala e Java, mas acho que o problema é independente da linguagem, desde que a linguagem seja orientada a objetos.
Soluções em que posso pensar:
"Abominações de construtores com longas listas de parâmetros"O Padrão do ConstrutorObrigado pela sua contribuição!