История изменений
Исправление iZEN, (текущая версия) :
Правильным является поддержка свойств на уровне языка, но в Java до такого почему то за 20 лет не доросли.
Нет же.
Свойства, геттеры, сеттеры являются антипаттернами изменения состояния объекта. В масштабе использования (Use-Case) выбранного объекта они серьёзно усложняют логику приложения, практически всегда предполагая синхронизацию двух и более свойств (ACID на ряд методов), которые не могут быть изменены без взаимосогласования.
Таким образом, лучше избегать get/set/property без реальной нужды в них. Везде использовать методы-функции, при вызове которых объект не «деградирует», всегда находится в детерминированном состоянии и не нуждается в дополнительном «исследовании» (в инспекции в широком смысле) своих свойств.
Исходная версия iZEN, :
Правильным является поддержка свойств на уровне языка, но в Java до такого почему то за 20 лет не доросли.
Свойства, геттеры, сеттеры являются антипаатернами изменения состояния объекта. В масштабе использования (Use-Case) выбранного объекта они серьёзно усложняют логику приложения, практически всегда предполагая синхронизацию двух и более свойств (ACID на ряд методов), которые не могут быть изменены без взаимосогласования.
Таким образом, лучше избегать get/set/property без реальной нужды в них. Везде использовать методы-функции, при вызове которых объект не «деградирует», всегда находится в детерминированном состоянии и не нуждается в дополнительном «исследовании» (в инспекции в широком смысле) своих свойств.