Я имею в виду, есть ли PersonAggregate
класс? Я понимаю, что этого не существует. У меня есть только сущность, действующая как совокупный корень. Правильно ли это?Являются ли классы DDD Aggregates или они неявны?
ответ
Я видел оба решения, используемые в проектах, но чаще всего люди не используют этот суффикс.
Одним из интересных решений для этого является создание общих классов классов и неагрегатных классов (по умолчанию). Вы увидите непосредственно из своей среды IDE, какие классы имеют видимость, и вы можете легко определить, где это совокупность. Кроме того, непубличный класс не может использоваться вне пакета, который является оригинальным намерением.
Мое понимание - это совокупный корень - это сущность, но сущность может не быть совокупным корнем. Поэтому я рассматриваю «Агрегатный корень» как больше stereotype.
У меня есть сущность, действующая как совокупный корень. Правильно ли это?
Это правильно.
совокупность неявно - это граница, которая разделяет два непересекающихся множества состояния, которые могут быть изменены независимо друг от друга. Эквивалентно, совокупность представляет собой график состояния бизнеса в модели, которая может быть изменена без консультации за пределами графика, и наоборот.
общий корень является явным. Это единственная сущность на графике, который отображается, то есть он служит точкой входа, через которую должны пройти все изменения в графе.
Гипотетически, вы можете реализовать агрегат, который имеет два разных открытых объекта, которые могут выполнять команды для изменения состояния; Эванс представил понятие одного совокупного корня, потому что несколько точек входа трудно получить правильно.
Не в доменном стиле. Это будет подвергать технологическому жаргону, в основном деталям реализации, экспертам в области
Итак, мой общий корень, вероятно, будет внутри моей сущности, и я буду знать, что это совокупный корень, просматривающий только код. Правильно? –
Пожалуйста, проверьте обновленную часть о публичных/непубличных классах –