whirlwind
TDD infected, paranoid
Вурдалак, Ты издеваешься что ли? Почему ты цепляешься к самым малозначимым и неудачным словам в моем тексте и не видишь главного? Ты говоришь нарушаются границы контекста аффектит транзы и все такое? Да потому что иначе не получится при высокосвязанной системе. Если у вас что-то нарушается, значит вы некорректно отразили предметную область на классы.
Все зависит это от того, как вы реализуете связи. Атрибуты - это плохой способ связывания. Он рабочий, но плохой. Дополнительная карта связей (новая entity), то бишь aggregate root - это хороший способ. Aggregate root это коллекция of references с точки зрения структуры данных (я говорил - пример с many-to-many) и сервис обслуживающий эти связи с точки зрения бизнес-логики. Потому что он решает задачу изолированно от сущностей. При таком подходе легче вносить изменения без влияния на другие подсистемы, которые задействуют в своей работе те-же самые сущности.
Все зависит это от того, как вы реализуете связи. Атрибуты - это плохой способ связывания. Он рабочий, но плохой. Дополнительная карта связей (новая entity), то бишь aggregate root - это хороший способ. Aggregate root это коллекция of references с точки зрения структуры данных (я говорил - пример с many-to-many) и сервис обслуживающий эти связи с точки зрения бизнес-логики. Потому что он решает задачу изолированно от сущностей. При таком подходе легче вносить изменения без влияния на другие подсистемы, которые задействуют в своей работе те-же самые сущности.