项目开发规范
类设计
最佳实践
-
类是暴露抽象最优先的选择。因为接口一旦发布,其成员将永远固定。所以要优先定义类而不是接口。
-
要用抽象类而不是用接口来解除契约与实现之间的耦合,除非接口永不变[1]。
-
一个接口只做一件事情。
-
通过接口来实现多重继承,但要避免记号接口(没有成员的接口)[2]。
-
仅把最长的重载成员定义成重载成员中唯一的虚成员,而较短的重载只是调用一下较长的重载。
public class String{ public int Indexof(string s){ return Indexof(s,0); } public int Indexof(string s,int startIndex){ return Indexof(s,startIndex,s.Length); } public virtual int Indexof(string s,int startIndex,int count){ //do real work here } }
大约 5 分钟