Создание больших неизменяемых объектов без использования конструкторов с длинными списками параметров

У меня есть несколько больших (более 3 полей) объектов, которые могут и должны быть неизменными. Каждый раз, когда я сталкиваюсь с этим случаем, я склонен создавать мерзости конструктора с длинными списками параметров. Он не чувствует себя хорошо, его трудно использовать, и читаемость страдает.

Еще хуже, если поля представляют собой некий тип коллекции, например списки. ПростоaddSibling(S s) это сильно облегчит создание объекта, но сделает его изменчивым.

Что вы, ребята, используете в таких случаях? Я нахожусь на Scala и Java, но я думаю, что проблема не зависит от языка, пока язык является объектно-ориентированным.

Решения, которые я могу придумать:

"Конструктор мерзости с длинными списками параметров"Образец Строителя

Спасибо за ваш вклад!

Ответы на вопрос(9)

Ваш ответ на вопрос