Закон Деметры с объектами модели данных

Вчера я вернулся на работу из отпуска, и в нашей повседневной работе мои товарищи по команде упоминали, что они рефакторинг всех объектов модели в нашем коде Java, чтобы удалить все методы получения и установки и вместо этого сделать поля модели всеми открытыми объектами, ссылаясь на Закон Деметра как причина для этого, потому что

чтобы облегчить нашу приверженность закону Деметры: модуль не должен знать о внутренностях «объектов», которыми он манипулирует. Поскольку структуры данных не содержат поведения, они, естественно, раскрывают свою внутреннюю структуру. Так что в этом случае Demeter не применяется.

Я признаю, что мне пришлось освежить свои знания о LoD, но я не могу найти ничего, что указывало бы на то, что это в духе закона. Ни один из методов получения / установки в наших моделях не содержит никакой бизнес-логики, что является его оправданием для того, чтобы клиентам этих объектов не приходилось понимать, выполняется ли какая-либо бизнес-логика в методах get / set.

Я думаю, что это неправильное понимание того, что означает «внутреннее знание структуры объектов», или, по крайней мере, слишком буквальное понимание и нарушение в процессе довольно стандартного соглашения.

Поэтому мой вопрос заключается в том, имеет ли смысл представлять внутреннюю структуру объектов модели напрямую, а не через геттеры / сеттеры от имени LoD?

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

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