Аллен Голуб написал следующее,
У вас не может быть программы без какой-либо связи. Тем не менее, вы можете свести к минимуму сцепление значительно с помощью раскольнических предписаний OO (объектно-ориентированных) (самое главное, что реализация объекта должна быть полностью скрыта от объектов, которые его используют). Например, переменные экземпляра объекта (поля-члены, которые не являются константами) всегда должны быть частными. Период. Без исключений. Когда-либо. Я серьезно. (Иногда вы можете эффективно использовать защищенные методы, но защищенные переменные экземпляра являются мерзостью.)
Звучит разумно, но затем он продолжает:
Вы должны никогда не использовать функции get/set по той же причине - они слишком сложны, чтобы сделать поле общедоступным (хотя функции доступа, которые возвращают полномасштабные объекты, тип типа являются разумными в ситуациях, когда класс возвращаемого объекта является ключевой абстракцией в проекте).
Который, честно говоря, просто звучит безумно для меня.
Я понимаю принцип скрытия информации, но без аксессуаров и мутаторов вы вообще не можете использовать Java beans. Я не знаю, как вы будете следовать проекту MVC без аксессуаров в модели, поскольку модель не может нести ответственность за визуализацию представления.
Тем не менее, я младший программист, и каждый день я узнаю больше об объектно-ориентированном дизайне. Возможно, кто-то с большим опытом может повлиять на эту проблему.