Pos*_*Guy 4 c# orm domain-driven-design entity-framework linq-to-sql
我正在阅读所有这些主题的背景:
POCO
存储库模式
工作单元
使用ORM映射器
好吧,我在书中看到了每本书的基本定义等等,但我无法将它们全部可视化.含义示例结构(DL,BL,PL).
那么,你有你的DL对象包含你的CRUD方法,然后你的BL对象使用ORM"映射"回你的DL对象?那么DTO呢......他们是你的DL对象吗?我糊涂了.
任何人都可以真正解释所有这些或给我发送示例代码吗?我只想把它们放在一起.我正在确定是否要使用LINQ to SQL或EF 4(还不确定NHibrernate).
只是没有在这里获得物理层和代码层中的概念以及每种类型的对象包含的内容(只是DTO的属性,以及与表字段匹配的核心DL类的CRUD).
我只需要一些指导.我正在阅读福勒的书,开始阅读埃文斯,但还没有完全阅读.
我将假设DL - 域层,BL - 业务层和PL - 持久层.
如果您需要简单的CRUD应用程序,则不应使用DDD原则.如果要实现复杂的域模型,请使用DDD.
在DDD中,您将使用DL和BL结合域对象/服务中的所有逻辑.否则,您将构建一个贫血领域模型.避免使用属性上的setter并仅通过ChangeAddress等方法调用而不是obj.Address = newAddress或Activate而不是obj.Active = true来更改对象.
数据传输对象应仅用于与外部服务/ UI进行通信.在您的域内,您将仅使用域对象.
我建议使用基于任务的UI.
持久层中使用的持久性技术取决于您的要求.在您选择SQL RDBMS之前,请先查看对象关系阻抗不匹配维基百科页面.
有关实施样本,请查看相关问题: