我需要创建一些DTO类来跨WCF传输业务对象.
由于这些只是没有功能的数据包,有什么理由我不能只使用字段,还是有一些很好的理由将它们作为属性正确地公开?
//fields [DataContract] class CustomerDTO { [DataMember] public int Id; [DataMember] public string Name; } //or properties? [DataContract] class CustomerDTO { [DataMember] public int Id { get; set; } [DataMember] public string Name { get; set; } }
解决方法
Since these are just bags of data with no functionality,is there any reason I can’t just use fields
这里没有针对公共领域的强烈论据.但是要意识到这只是因为DTO中没有逻辑(行为),因此封装的正常参数不成立.
我仍然会喜欢属性,但这里并不是必需的.