解决方法
Eric Lippert已经准备了
great blog post这个决定.
他的总结是:
In short: use attributes to describe your mechanisms,use properties to model the domain.
我还会补充说,属性值是有效静态的 – 换句话说,它是类型描述的一部分,而不是类型的任何实例.
当一些基本类型的每个实例必须具有属性(例如描述)但是不同的具体派生类型希望以每个类型为基础而不是每个实例指定描述时,可能会有一个棘手的一点.你经常会得到总是返回常量的虚拟属性,这不是非常令人满意的.我怀疑Delphi的类引用可能在这里有所帮助…不确定.
编辑:给出一个机制的例子,如果你装饰一个类型来表示数据库中的哪个表,那就是描述数据传输机制,而不是说有关正在传输的数据的模型.