我将从大多数人似乎采取的方式开始,在这里....
所以我...... 不,那是伤口。我会重新开始(因为没有直截了当但可能会失去一些积分)
对,
我继承了一个框架,它使用WCF来提供一些操作和数据契约。
对某些人来说这可能是令人厌烦的,但我还没有对SOA或WCF做足够的阅读以获取有效模式(或最佳实践......)的知识,因此,对我的团队并没有真正的加权意见这个主题,到目前为止。
作为我正在使用的框架中的一个例子,有一堆用户模型。
具体来说,我们有以下模型(数据合同):
对于所有意图和目的,这些数据合同完全相同 - 除了它们的“类型”之外,它们具有相同的成员和属性等,这是我的第一个问题。
利用数据合同的操作具有与您可能希望使用
执行某些操作的数据协定相匹配的参数因此利用数据合同的操作:
也许意图是将模型和操作彼此描绘出来,但根据我的经验,方法及其参数列表通常可以很好地指示我们需要做什么。
当然一个数据合同就足够了,甚至可能只有一个操作(带有操作类型参数)
我错过了这一点。你为什么要按照我的描述去做?
感谢。
我
答案 0 :(得分:1)
这听起来像以前的开发人员要么试图实现一些卑鄙的命令模式,要么他们没有理解WCF。
长回答简短,是的,从你所说的,你应该很好地将这些组合成一个UserDto类,它是所有三个操作的DataContract。就其本身而言,svcutil应该可以在客户端生成一个适用于所有三种OperationContract方法的DataContract类(或者,因为您似乎控制了此服务的两端,只需使用包含DTO的共享程序集)客户端和服务器)。