Использование неизменяемых объектов становится все более распространенным, даже если программа под рукой никогда не должна запускаться параллельно. И все же мы по-прежнему используем геттеры, для которых требуется 3 строки шаблона для каждого поля и 5 дополнительных символов при каждом доступе (в вашем любимом обычном языке OO). Хотя это может показаться тривиальным, и многие редакторы в любом случае удаляют большую часть нагрузки со стороны программиста, это все еще кажется ненужным усилием.
В чем причины дальнейшего использования аксессуаров против прямого доступа к полю неизменяемых объектов? В частности, существуют ли преимущества для того, чтобы заставить пользователя использовать устройства доступа (для клиента или библиотеки), и если да, то каковы они?
Обратите внимание, что я имею в виду неизменяемые объекты, в отличие от этого question, который относится к объектам в целом. Чтобы быть ясным, нет никаких сеттеров на неизменяемых объектах.