【发布时间】:2013-08-17 12:03:50
【问题描述】:
我开发了一个包含以下层的应用程序:
- 基于fluent nHibernate的数据访问层
- 业务规则
- 活动层(比业务规则更抽象,使用一些 业务规则)
- 基于 WCF 的服务层,向外界发送一些 DTO 并接收 DTO。
所以当一些 DTO 回来时,我可以将 DTO 映射到服务层中的业务对象,并使我的应用程序与业务对象一起工作。在这种情况下,当较低层中的某些函数执行时,它对旧对象一无所知,因此很难处理和验证状态变化,并且 DTO 适配器也存在类爆炸。 另一方面,如果 dto 映射到较高层的业务对象,当它下来时,较低层对所调用的服务一无所知,因此他们无法理解这个 dto 必须如何更改业务对象(1 DTO 可能被不同的服务以不同的方式使用)
所以问题是真正的解决方案是什么?
【问题讨论】:
-
你能显示一些代码吗?例如:您的 WCF 服务方法之一是什么?您的业务层中相应的方法/类的名称是什么?下层函数的例子是什么?
标签: c# wcf architecture dto n-tier-architecture