参数和返回类型的设计规范

声明方法的参数类型时,应尽量指定最弱的类型,宁愿要接口也不要基类。例如,如果要写方法来处理一组数据项,最好是用接口(比如:IEnumerable<T>)声明参数,而不要用强数据类型(比如list《T》)或者更强的接口类型(比如ICollection《T》或者IList《T》)。

因为如果参数为弱类型,只要是实现了IEnumerable<T>接口的都可以作为实参传递进来,但是如果指定的参数类型比较具体,比如List<T> 那就只能传递该类型的参数了。其他的都不行。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...