【发布时间】:2014-04-22 23:10:10
【问题描述】:
我对整个 .NET 场景还很陌生,我仍在努力解决这个问题。
似乎非常提倡的一件事是领域驱动设计模式。尽管我渴望在 .NET 世界中取得飞跃的开始并正确地做到这一点,但我潜心尝试将其应用到我的项目中。
据我了解,让域对象访问存储库等持久层功能是一种不好的做法,但是当使用高度连接的图时,我真的很难解决急切加载的问题。它通常最终导致域模型中几乎没有逻辑,并将所有逻辑移动到服务层,该服务层进行计算并用数据填充模型对象或直接返回结果,例如 price = productService.CalculatePriceFor(product, user); 而不是 price = product.Price(user) 因为在第一次请求对象时,如果不急切地加载整个产品组树和折扣矩阵,就无法完成后者。
这里有什么好的做法?实现产品的子类,其中获取用户价格的信息是在加载时计算的,并且当我不需要用户价格时有另一个子类?
【问题讨论】:
标签: c# domain-driven-design anemic-domain-model