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