我注意到最近一直在困扰我,当我进入一个项目时,我总是最终得到一些属性来装饰界面中的方法声明但是 a不同的装饰方法实现。
最新的实例是我正在使用的WCF,在那里,我只会有一个实现类。仍然有一些属性填充了界面,而其他属性则填充了该类。这被认为是不好的编码风格吗?
更具体地说 - 在使用WCF时,是否可以将所有属性移动到实现类定义中?
答案 0 :(得分:2)
特定于WCF:
您不能将所有属性单独移动到实现类,因为WCF Contract
是由接口定义的,它是暴露给WCF客户端的接口,用于发现WCF服务和元数据。
此外,{。1}}由.Net运行时使用反射使用,它们用于发现元数据并将其应用于Attributes
,interface
等各种AttributeTargets
。
所以,我认为在两个接口和类中使用class
都没关系,如果Attributes
要求依赖于它们的目标,那么这种做法并不算错误使用。