Re[14]: DDD протаскивание других слоев через параметры методов Domain
От: #John Европа https://github.com/ichensky
Дата: 28.11.20 02:36
Оценка: :))
Здравствуйте, samius, Вы писали:


S>метод UpdateInformation вероятно будет и в анемике тоже. Ключевой поинт анемика лишь в том, нахрена этот метод нужен User-у? Не отменяя того, что User- агрегат для изменения его информации, можно записать

S>UpdateInformation(User user, string info, string email),

Это процедурный стиль программирования, типы данных отдельно, логика отдельно.
Объектно ориентированный подход — это когда данные и логика в одном объекте и мы работаем с объекатами.
В ОО объекты представляют сущности из реального мира(ограниченные условиями проекта).
Напр. хамелеон умеет менять цвет кожи. В коде мы и должны описывать хамелеона:
class Chameleon
{
    public Color skinColor { get; private set; };

    public void ChangeSkin(Color color) => skinColor = color; 
}


ObjectsAndDataStructures

S>Объекты всегда в правильном состоянии для чего? Для какого процесса?

Что бы можно было создать/достать из бд агрегат рут, вызвать любой метод и объект был в валидном состоянии, и ни каких ошибок не выкинуло(напр. NRE),
что бы агрегат рут без дополнительных проверок, можно было просто взять и сохранить в бд целиком, одной транзакцией, и не получилось что мы потеряли часть данных.
Підтримати Україну у боротьбі з країною-терористом.

https://prytulafoundation.org/
https://u24.gov.ua/

Слава Збройним Силам України!!! Героям слава!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.