Перейти к содержанию

Domain model purity

Чистая доменная модель - это модель, которая не обращается во внешний мир при исполнении бизнес логики. То есть лишена видимых снаружи сайд эффектов.

Например, нам необходимо реализовать функцию изменения email пользователя с проверкой, что новый адрес уникален в системе. Для этого необходимо сделать запрос в БД либо из самого класса Пользователь, из за чего пострадает чистота модели, либо вынести проверку в сервисный слой, из за чего пострадает полнота доменной модели. Есть еще третий вариант - загрузить из БД все email, зарегистрированные в системе, но этот вариант приведет потере производительности.

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

Ссылки