c# - 企业设计模式问题

标签 c# .net architecture

关于在高层次上构建系统的一些想法。

假设您有一个包含以下层的系统:

  • 用户界面
  • 服务层
  • 领域模型
  • 数据访问

服务层用于填充域模型中的对象图。为避免耦合,域模型将不具有持久性意识,并且不依赖于任何数据访问层。

但是,使用这种方法,域模型中的一个对象如何能够调用其他对象而不能够持久加载它们,从而将所有东西耦合在一起——我试图避免这种情况。

例如Order 对象需要检查 Inventory 对象,并且显然需要告诉 Inventory 对象以某种方式加载或以某种方式填充它。

有什么想法吗?

最佳答案

您可以从服务层注入(inject)任何依赖项,包括填充的对象图。

我还要补充一点,存储库可以是依赖项 - 如果您已经为存储库声明了一个接口(interface),则可以在不添加任何耦合的情况下对其进行编码。

关于c# - 企业设计模式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4306419/

相关文章:

c# - 01/01/1900 的日期时间问题

c# - 使用 Windows API 从富文本控件检索文本的正确方法是什么?

c# - 插入带有 Dapper 的 IEnumerable<T> 集合时出现 "class is not supported by Dapper."错误

c# - 如何使用 bool 值在 Unity 检查器中启用/禁用列表?

C++/CLI - 垃圾收集的效率如何?它真的适合我吗?

.net - .Net 中的进程分配

architecture - 每条指令未命中和计算机执行时间的未命中惩罚有何不同?

node.js - NodeJS 如何扩展企业应用程序?

c# - 包含反斜杠的路径字符串无法识别的转义序列

database - 如何在微服务上管理多个数据库?