普遍语言中的业务规则和DDD域行为

本文关键字:DDD 规则 业务 语言 | 更新日期: 2023-09-27 17:59:42

我有一种情况,我正在对一个域进行建模,该域的业务规则是

当用户需要查看类别时。。用户应该同时查看这两个帐户和商店类别。因为存储从主账户。

考虑到普遍语言,将这一商业规则纳入damain模型的最佳方式是什么?

这是我的想法

Store.InheritCategoriesFrom(Account.Categories);
Store.GetAllCategories();

然后在域中的行为函数可以像一样

public List<Category> AllCategories { get; set; }
public InheritCategoriesFrom(List<Category> AccountCategories)
{
      //code to merge Shop.Categories with Account Categories into AllCategories  here..
}
public List<Category> GetAllCategories()
{
      return AllCategories;
}

如果我错了,请告诉我,为什么?这样我就可以开始朝着正确的方向思考了。

普遍语言中的业务规则和DDD域行为

当用户需要查看类别时。。用户应该同时查看帐户和商店类别。

这不是业务规则,这是UI视图需求=>视图模型数据=>可以直接从数据库中查询,而且不必只有一个查询。

因为商店从主帐户继承类别。

这是一个实现细节,它不可能是业务规则,但在谈论查询时,它是一个无用的细节(甚至是有害的)。

只需在您的存储中有一个方法(或使用查询处理程序),它将返回视图模型所需的所有数据。不需要继承。只是亲吻。