我有一些业务对象和一些非常相似的相应数据契约对象,用于通过WCF服务获取数据。
我应该使用什么机制从业务对象中获取填充的数据协定对象?
在理想的世界中,数据合同层是否应该了解业务层?
或
业务层应该知道数据合同层吗?
或
是否应该有另一个具有静态方法的映射层,如GetDataContractFromBusinessObject?
答案 0 :(得分:2)
我是你提到的“使用静态方法的映射层”技术的忠实粉丝。然后,您的业务对象和数据协定不会相互依赖。
答案 1 :(得分:0)
我经常会添加一个派生类来处理业务层中特定后备存储的数据消耗。
另一种选择是业务类理解的接口数据层表示。然后让您的数据层实现该接口。我更喜欢这种方法,因为让业务层与数据层的抽象版本交互,然后让数据层理解业务对象就更简单了。