用 1;2;3 标记了我的聚合根。看起来很不错——几乎像葡萄。
我不喜欢的是一个标有红色箭头的实体。
让我们想象一下:
- AR #1 是公司
- AR #2 是办公室
- AR #3 是员工
- 标有红色箭头的实体被命名
Country
- 公司制定从哪些国家/地区雇用员工的规则(在雇用时,
company.Countries.Contains(employee.Country)
必须是真实的)
- 公司制定从哪些国家/地区雇用员工的规则(在雇用时,
我以某种方式看到了域中这个相当不重要的部分(也许在这个示例中听起来不像),并且我想避免将 Country 提升为聚合根。
对内部成员的瞬态引用只能在单个操作中使用。
那么 - 引入诸如“EmployeeCountry”之类的内容,删除对公司 Country 的引用并检查 Employee country 在招聘操作中是否与任何公司国家匹配听起来合理吗?
还有其他想法吗?
我怎样才能让我的葡萄看起来像他们应该的样子?