Size: a a a

Software Design/Architecture/Zen

2020 December 27

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Так даже без геттеров
источник

AL

Aleksander L in Software Design/Architecture/Zen
Евгений Ромашкан
Если в контроллере то да, так
Только в данном случае это разве рич модель?
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Aleksander L
Только в данном случае это разве рич модель?
Нууу, геттер в данном случае юзается не для того чтобы принимать какие-то решения касающийся стейта сущности
источник

VA

Vladimir Alexeev in Software Design/Architecture/Zen
Выходит, у нас есть три варианта:

- sender.send(user.getPhoneNumber(), “text”) - anemic
- user.send(“text”) - rich
- user.send(sender, “text”) - ?
источник

AL

Aleksander L in Software Design/Architecture/Zen
Евгений Ромашкан
Нууу, геттер в данном случае юзается не для того чтобы принимать какие-то решения касающийся стейта сущности
А для чего? Номер это что?
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Vladimir Alexeev
Выходит, у нас есть три варианта:

- sender.send(user.getPhoneNumber(), “text”) - anemic
- user.send(“text”) - rich
- user.send(sender, “text”) - ?
Второй требует зависимости от сендера в сущности при её создании, поэтому не оч.
Первые не анемик ещё по причине выше.
Третий норм.
Альтернатива - доменные ивенты ещё
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Aleksander L
А для чего? Номер это что?
Для отправки смс)
источник

AL

Aleksander L in Software Design/Architecture/Zen
Евгений Ромашкан
Для отправки смс)
Это стейт
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Aleksander L
Это стейт
Стейт в данном контексте это мутабельные данные
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Геттер не сломает стейт сущности никак
источник

AL

Aleksander L in Software Design/Architecture/Zen
Евгений Ромашкан
Геттер не сломает стейт сущности никак
А зачем тебе геттер в рич модели? Они там далеко не все нужны
источник

AL

Aleksander L in Software Design/Architecture/Zen
По-хорошему у пользователя должен быть объект телефон, а у этого объекта метод отправки. Тогда это нормальная Рич модель
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Aleksander L
А зачем тебе геттер в рич модели? Они там далеко не все нужны
Ну мы про конкретный пример
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Aleksander L
По-хорошему у пользователя должен быть объект телефон, а у этого объекта метод отправки. Тогда это нормальная Рич модель
Для меня достаточно чтобы сеттеров не было
источник

VA

Vladimir Alexeev in Software Design/Architecture/Zen
Геттер, конечно, стейт не сломает. Вопрос в том, что в приложениях количество геттеров (сейчас даже не затрагивает сеттеры) зашкаливает
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
В идеале, чтобы данные из геттеров в каких-то логических ветвлениях не использовались
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Vladimir Alexeev
Геттер, конечно, стейт не сломает. Вопрос в том, что в приложениях количество геттеров (сейчас даже не затрагивает сеттеры) зашкаливает
Проблема, да
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Но обычно они и с сеттерами рука об руку
источник

AL

Aleksander L in Software Design/Architecture/Zen
Евгений Ромашкан
Для меня достаточно чтобы сеттеров не было
Анемик модель тоже без сеттеров бывает.
А выше ты написал, что это вариант не анемик модель
источник

VA

Vladimir Alexeev in Software Design/Architecture/Zen
Aleksander L
По-хорошему у пользователя должен быть объект телефон, а у этого объекта метод отправки. Тогда это нормальная Рич модель
Да. Только вот, как отметили выше, для создания сущности User будет нужна зависимость Phone
источник