Где логика для удаления/не удаления зависимых объектов принадлежит DDD?Где находится логика Reisde для удаления зависимых объектов в доменном дизайне (DDD)?
Например один имеет категорию, которая содержит продукты:
class Category
{
IList<Products> products;
}
Правила может быть, что категория не может быть удалена, если он не имеет никаких продуктов.
В чем заключается логика, которая проверяет отсутствие продуктов под этой категорией перед удалением?
- Классы доменов. Представляется, что это бизнес-логика, поэтому я бы предположил, что она принадлежит доменному слою.
- Классы хранилища. Уровень репозитория обрабатывает постоянство, он имеет общие методы CRUD, в том числе один для удаления, содержит ли логика в этом слое?
- Другое решение?
«возврат! Категория. Продукция»; возможно? –
@Bryan Watts, OT & FYI: При написании кода, который предназначен для чтения, а не для выполнения, я часто предпочитаю использовать «x == false» вместо «! X». Я думаю, что он лучше читает его, поскольку «категория имеет продукты равными ложным», чем «нет категории имеет продукты». Просто личное предпочтение. В реальном сценарии я бы использовал! Category.HasProducts. –
@KevinSwiber Я знаю, что это старый пост, но где должен быть расположен код, который вы указали (т. Е. Вопрос)? доменного уровня или уровня обслуживания? благодаря –