1

在 .net 中的依赖注入一书中(一本很棒的书,感谢标记)。在第 41 页其他问题:他谈到了一种反模式,引用 DAL 和 BLL 的 ui,定义域对象(实体框架自动生成的对象)的 DAL 他说:

大多数领域模型似乎都在数据访问库中实现。 域模型库引用数据访问库是一个技术问题,而数据访问库将这样的类定义为 Product 类是一个概念问题。公共产品类属于领域模型。

我明白 DAL 不能定义域对象。但我不明白为什么 DML 参考 DAL 是一个技术问题?当他谈到域模型库时,我们是在谈论 BLL(业务逻辑层)吗?

4

1 回答 1

4

是的,领域模型库 (DML) 是一个业务逻辑层 (BLL)。这个库应该包含域模型实体(应该是持久无知的)和域服务。

为什么这是一个技术问题?DAL 中的任何更改都需要编译 DML。如果您要反向依赖,那么 DAL 将充当您域的插件。您可以随意更改它(将数据保存在内存、文件中或使用其他数据库提供程序)而不影响 BLL。

于 2013-03-13T14:15:23.937 回答