答案 0 :(得分:2)
服务的第一条规则,业务对象!=消息对象。基本上,永远不要将业务对象公开为数据契约。或者我想说,你不能传真一只猫。你可以发送猫的传真,但你不能通过电线发送猫。这是一张很棒的图片,提醒您:http://www.humorhound.com/2009/04/demotivational-poster-youre-doing-it-wrong/
在更现代的术语中,它实际上是MVVM模式。域层使用的模型视图不是为客户端构建的,因此您必须为其他层创建单独的模型和视图。是的,似乎需要做更多的工作,但最终它是一种更容易和更好的方法来构建面向服务的应用程序。版本控制只是让生活更轻松的一种方式。另一个重要的事情是,你倾向于构建适合它的使用方式的模型,并且你会得到更多明确的代码(不那么疯狂的分支)。
答案 1 :(得分:0)
我们实现这一目标的方法是在业务层之上构建一个外观层。
外观层使用数据合同中定义的对象与世界其他地方进行对话。
在将数据发送到业务层之前,外观层将对象映射到内部对象。
这会将系统的内部功能与数据协定中使用的对象隔离开来。