一、 字段设计
封装是面向对象设计最重要的思想之一,封装规定存储在对象内部的数据只有对象本身才可以访问。
不要提供公有的或受保护的实例字段。
JIT编译器能够内联那些用来访问字段的简单属性,其性能与直接访问字段相当。
通过不直接把字段暴露给开发人员,我们就能够更容易的对类型进行更改,原因如下
1, 保证二进制兼容性的前提下把字段改成属性是不可能的
2, 由于属性GET和SET中存在可执行代码,因此这使得以后对属性的使用进行改进成为可能。
要用常量字段来表示永远不会改变的值
要用公有的静态只读字段来定义预先定义的对象实例
二、 操作符重载
避免定义操作符重载,除非该类型看起来像一个基本类型
考虑在看起来应该像基本类型的类型中定义操作符重载。
要为表示数值的结构定义操作符重载(如System.Decimal)