这么写的好处
最近接收一个项目,原先的代码里都喜欢这么写
IDictionary propertyDic = new Hashtable();
IChannel tcpChnl = new TcpChannel(propertyDic, null, formatter);
诸如此类,还有就是他们不喜欢用List<T>声明变量,而是IList<T>。
不知道这么写有啥好处呢?
------解决方案--------------------写程序当然是越简单越好。能不定义类型(和interface),就不要定义。能不用当然就不用。
其实这道理谁都知道。不是每一个人都是标题党去追求时髦的。
为什么要用?那么你应该去跟你的同事——当事人——沟通,看看是不是有自己不了解的必须这样做的理由发生。
而不要在csdn上来晒这种问题。
------解决方案--------------------
有点不大理解。。。先记住慢慢品味吧。。。
------解决方案--------------------对线接口对象编程!比如“诸如此类,还有就是他们不喜欢用
List<T>声明变量,而是
IList<T>。”在C#中有很多对象都实现了IList<T>接口,它就类似于“父类”,当然接口不存在父类这么一说。它IList<T>就相当于一个抽象,让所有实现它的对象,在创建的时候都用抽象的“父类IList<T>”去
接收,让细节依赖于抽象,而不是抽象依赖于细节--依赖倒转原则
------解决方案--------------------没有好处。应该用List<T>。
编程的一个原则就是,尽量使用确定的类型,比如
int i = 3;
object i = 3;
那么前者int就是更确定的类型,比后者好。