我有一份服务合同:
[DataContract]
public class Something
{
[DataMember]
public MyEnum SomeEnumMember {get;set;}
}
我们的一些开发人员正在做这样的事情:
public Something()
{
SomeEnumMember = MyEnum.SecondEnumValue;
}
我认为构造函数逻辑不属于我们的服务合同,因为如果您使用“添加服务引用...”并且正在使用由 Visual Studio 生成的代理类,该代码将不起作用。
在内部,我们使用 Castle DynamicProxy,如下所示。但是,我希望我们的开发人员避免在服务合同类中使用构造函数逻辑,以防我们由于某种原因无法使用 DynamicProxy。
那么:构造函数逻辑是否在这些类中占有一席之地,或者作为最佳实践,我们应该将它们视为更多的 DTO 并在没有行为的情况下实现它们?