时间:2010-07-26 14:55:23

标签: wcf versioning

2 个答案:

答案 0 :(得分:2)

服务的第一条规则,业务对象!=消息对象。基本上,永远不要将业务对象公开为数据契约。或者我想说,你不能传真一只猫。你可以发送猫的传真,但你不能通过电线发送猫。这是一张很棒的图片,提醒您:http://www.humorhound.com/2009/04/demotivational-poster-youre-doing-it-wrong/

在更现代的术语中,它实际上是MVVM模式。域层使用的模型视图不是为客户端构建的,因此您必须为其他层创建单独的模型和视图。是的,似乎需要做更多的工作,但最终它是一种更容易和更好的方法来构建面向服务的应用程序。版本控制只是让生活更轻松的一种方式。另一个重要的事情是,你倾向于构建适合它的使用方式的模型,并且你会得到更多明确的代码(不那么疯狂的分支)。

答案 1 :(得分:0)

我们实现这一目标的方法是在业务层之上构建一个外观层。

外观层使用数据合同中定义的对象与世界其他地方进行对话。

在将数据发送到业务层之前,外观层将对象映射到内部对象。

这会将系统的内部功能与数据协定中使用的对象隔离开来。