Короткий ответ :
Это плохая практика иметь такие объекты
Не обязательно, но это зависит от контекста.
Более длинный ответ :
У меня есть вопрос, связанный с общим ООП, а не с конкретным языком.Я пробовал простое приложение (на Java) и пытался смоделировать его как сценарий реального мира.
На самом деле нет никаких правил, согласно которым вы должны это делать.На самом деле, я знаю довольно много людей, которые не одобряют это утверждение, Дядя Боб Мартин за одного.Это больше касается моделирования бизнес-процессов, чем моделирования "реальных сценариев".Я пробовал это в прошлом, и обнаружил, что нет никакой выгоды - или почти никакой - никакой выгоды от жесткой попытки моделировать все, как это происходит в реальном мире.Во всяком случае, я думаю, что это делает ваше приложение более сложным, и чем сложнее становится программное обеспечение, тем труднее становится его поддерживать.
При перефакторинге я понял, что придумала простой объект, которыйтолько один член и переопределенный метод equals и hashcode.
Может быть, все в порядке, как уже сказал @Arseny, ValueObject - хорошо известный способ работы, хотя я обычно не заканчиваю сих много, когда я пишу код.Если несколько ваших объектов не имеют никакого поведения, это может указывать на так называемую модель анемического домена , к которой вы должны быть осторожны (большая сложность без видимой выгоды).
Вы можете выяснить, делаете ли вы «неправильно» (конечно, со значениями переменных «неправильно»): просто посмотрите, что соавторы делают с вашим ValueObject, и посмотрите, есть ли что-то там.это похоже на вычисление, которое на самом деле принадлежит самому объекту.
Однако, если это один из немногих объектов, который не имеет никакого поведения: ну, да, это происходит, и вам, вероятно, не нужнобеспокоиться об этом.Мы должны увидеть какой-то код, чтобы быть убедительными в наших ответах.