Преимущества неизменяемых объектов в Java кажутся ясными:
- согласованное состояние
- автоматическая безопасность потока
- Простота
Вы можете использовать неизменяемость, используя частные конечные поля и инъекцию конструктора.
Но каковы недостатки в пользу неизменяемых объектов в Java?
то есть.
- несовместимость с инструментами ORM или веб-презентаций?
- Негибкий дизайн?
- Сложности реализации?
Возможно ли разработать крупномасштабную систему (граф глубоких объектов), которая преимущественно использует неизменяемые объекты?