关于在高层次上构建系统的一些想法。
假设您有一个包含以下层的系统:
- 用户界面
- 服务层
- 领域模型
- 数据访问
服务层用于填充域模型中的对象图。为避免耦合,域模型将不具有持久性意识,并且不依赖于任何数据访问层。
但是,使用这种方法,域模型中的一个对象如何能够调用其他对象而不能够持久加载它们,从而将所有东西耦合在一起——我试图避免这种情况。
例如Order 对象需要检查 Inventory 对象,并且显然需要告诉 Inventory 对象以某种方式加载或以某种方式填充它。
有什么想法吗?
最佳答案
您可以从服务层注入(inject)任何依赖项,包括填充的对象图。
我还要补充一点,存储库可以是依赖项 - 如果您已经为存储库声明了一个接口(interface),则可以在不添加任何耦合的情况下对其进行编码。
关于c# - 企业设计模式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4306419/