В годы программирования я часто делал классы, которые просто группировали несколько переменных со своими сеттерами и геттерами. Я видел такие типы объектов, которые называются объектами ценности, объектами домена или объектами модели в зависимости от контекста, в котором они используются. Наиболее подходящим термином для общего использования, по-видимому, является объект передачи данных (DTO). Это описывает POJO, который содержит только аксессоры и мутаторы.
Я только что написал один такой объект, который содержит около пятидесяти полей, используемых для установки параметров темы на диаграмме. Теперь мне интересно, если вместо того, чтобы генерировать сотни геттеров и сеттеров, я должен просто объявить эти поля общедоступными. Выполнение этого противоречит всем моим интуициям программирования, но я не могу отрицать, что это значительно увеличит мою четкость кода и уменьшит количество кода шаблона в классе.
Единственная причина, по которой я могу видеть не, использовать общедоступные поля, будет, если мне нужно выполнить какую-либо проверку в этих полях. Если мы предположим, что проверка типа достаточна для моих целей, использует общедоступные поля в этом сценарии приемлемый разрыв с объектно-ориентированным дизайном? Будет ли публичный DTO лучше работать в больших пакетных операциях?