Я думаю, что этот подход упускает из виду суть доведения моделей до области просмотра. В статье автор использует построитель для экспорта модели. Проблема в том, что над тем, что помещается в построитель, столько же контроля, сколько над тем, что вы получили бы с геттерами. Да, он скрывает реализацию, как она представлена в модели. Но геттеры не извлекают из модели чего-то очень отличного от того, что было заложено в нее. Если вы создаете объект Money, передавая через конструктор цифру 5, то money.getAmount () не вернет это значение, преобразованное в какую-либо другую валюту, или как массив с одним элементом 5 в нем.
То, что вы установили, вы получите. И через представление мы устанавливаем значения, и те значения, которые мы ожидаем, когда мы запрашиваем их (получаем) от объекта, который должен содержать то, что мы установили в первую очередь. Строитель, экспортирующий их, ожидает того же.
Это немного долго для вопроса. Но мне хотелось бы, чтобы моя точка зрения была оспорена. Являются ли геттеры и сеттеры злом для передачи данных модели на уровень представления?
Многие считают, что геттеры / сеттеры вовсе не зло. Это также не то, что я хотел бы услышать в защиту, поскольку я думаю, что они ДЕЙСТВИТЕЛЬНО являются злом в других местах, чем те, которые я упомянул.