DML参考DAL是一个技术问题? (.net书中的依赖注入)

时间:2013-03-13 14:09:40

标签: .net dependency-injection n-tier-architecture

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

  

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

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

1 个答案:

答案 0 :(得分:4)

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

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