2010-07-26 68 views
0

我们在我们公司实施了大量服务,并且遇到了与数据合同有关的版本问题。我们遇到的问题之一是我们的数据合同也被用作服务背后实际应用的模型。我想知道其他人在这种情况下采取了什么方法,或者仅仅是服务版本。我知道微软最佳实践指南,但想知道是否有人对如何版本有任何其他想法。接近WCF服务版本控制

回答

0

我们已经实现的方式是在业务层上构建一个facade层。

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

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

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

2

Services,Business Object!= Message Object的第一条规则。基本上,绝对不要将您的业务对象公开为数据合同。或者正如我想说的,你不能传真一只猫。您可以发送猫的传真,但不能通过电线发送猫。这里有一个伟大的图片提醒你:http://www.humorhound.com/2009/04/demotivational-poster-youre-doing-it-wrong/

在更现代的术语中,它确实是MVVM模式。域图层使用的模型视图不是为客户端构建的,因此您必须为其他图层创建单独的模型和视图。是的,它看起来有很多工作要做,但最终它是构建面向服务的应用程序的一种更容易和更好的方法。版本控制只是让生活更轻松的一种方式。另一件重要的事情是,你倾向于构建模型,围绕它将如何使用,并且结束更多的代码(不太疯狂的分支)。