Можно ли в геттерах создавать новые сущности? Добрый день
Везде много раз читал, что каждый метод должен делать одно действие
Например, геттер - только чтобы достать значение поля
Но вот столкнулся с такой задачей
у меня есть сервис, который получает текущее состояние объекта, напримерpublic State getState(Long chatId)
я бы хотел, чтобы в геттере, если состояние не было определено для этого сhatId, то оно создавалось
Правильный ли это подход? За такое отрывают руки сеньоры?

29 Июн 2020 в 19:47
214 +1
0
Ответы
1

Добрый день! Вопрос о том, можно ли в геттерах создавать новые сущности, вызывает разные мнения в сообществе разработчиков. Некоторые считают, что это не рекомендуется, так как геттеры должны быть чистыми и не порождать новое состояние объекта.

Однако, в вашем случае, если создание нового состояния объекта является необходимым для корректной работы вашего приложения, то можно применить этот подход. Главное, чтобы он был обоснован и не нарушал логику приложения.

Если возможно, лучше извлечь логику создания нового состояния объекта в отдельный метод или класс, чтобы уменьшить зависимость геттера от этой логики.

В целом, важно соблюдать принципы чистого кода и не злоупотреблять логикой в геттерах. Но в некоторых случаях, как у вас, создание новых сущностей в геттере может быть оправданным. Важно, чтобы ваш код был понятным и удобным для других разработчиков.

18 Апр 2024 в 10:50
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир