在.net中的书依赖注入(一本伟大的书感谢标记)。 在第41页其他问题:其他问题: 他谈到了一个反模式,ui引用了DAL和BLL,DAL定义了Domain Objects(实体框架自动生成的对象),他说:
大多数域模型似乎都在数据访问库中实现。 尽管域模型库引用数据是一个技术问题 访问库,这是数据访问库定义这样一个概念性问题 class作为Product类。公共产品类属于域模型。
我明白DAL不能定义域对象。但是我不明白为什么DML引用DAL是技术问题? 当他谈到域模型库时,我们是在谈论BLL(业务逻辑层)。
答案 0 :(得分:4)
是的,域模型库(DML)是业务逻辑层(BLL)。该库应包含域模型实体(应该是持久无知的)和域服务。
为什么这是一个技术问题? DAL中的任何更改都需要编译DML。如果您将反向依赖,那么DAL将充当您域的插件。您可以自由更改它(在内存,文件中保留数据或使用其他数据库提供程序)而不会影响BLL。