我有如下设计: My Design My Design http://s15.postimg.org/3zha8rzqh/Design_Idea.pngDTO的位置<==> WCF服务中的实体翻译器?
我将有一个叫做“ProductDTO”类我服务层(左服务)。
当'更新产品(ProductDTO)'操作合同被调用时 - 它应该调用业务逻辑层中的'更新产品'功能。
在数据库中('数据访问层')有一个名为'Product'的实体,因为我使用LINQ-To-Entities,所以我也会有一个名为'Product'的类。
我的问题是 - 我在哪里从'ProductDTO'翻译成'Product'?
我应该在服务层有一个'Translate_ProductDTO_To_Product'函数吗? 这似乎是最逻辑的答案,因为这是知道'ProductDTO'是什么的唯一层。
但是这意味着服务层还必须知道什么是“产品”是,因此将不得不引用数据访问层组件。
这是正确的吗?
我认为服务层应该只引用业务逻辑层,那业务逻辑层应该只引用数据访问层,并且该服务层应该一无所知DAL。
有几个问题:A.什么是'DDD'? B.我将使用LINQ-TO-EF。这是我的DAL吗?或者这是我的DAL的一部分? C.如果我使用'LINQ-TO-EF' - DAL还有什么?因为从我的理解 - 所有的实际CRUD操作都将在BL中完成。那么在DAL中放置什么? – 2012-04-23 13:21:11
DDD:http://en.wikipedia.org/wiki/Domain-driven_design – 2012-04-23 13:34:11
谢谢。我的其他问题呢? – 2012-04-23 15:19:16