依赖倒置之我见_项目管理_非技术区_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 非技术区 > 项目管理 > 依赖倒置之我见

依赖倒置之我见

 2017/3/16 5:34:06  没有波澜的天空  程序员俱乐部  我要评论(0)
  • 摘要:.net程序员对面向对象设计原则以及设计模式的重视似乎不如Java,包括许多有经验.net的程序员,也并没有将面向对象的思想渗透进项目中。我本身就是这样一个例子。C#和Java都是面向对象的语言,设计模式对两者是通用的,今天就来谈一谈我对面向对象设计原则之一—依赖倒置原则的理解,之所以选择这个原则,因为之前对这个原则的理解很是模糊。首先,依赖倒置的标准定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。这个定义听得人云里雾里,不知所云。究其原因
  • 标签:

  .net 程序员对面向对象设计原则以及设计模式的重视似乎不如Java,包括许多有经验.net的程序员,也并没有将面向对象的思想渗透进项目中。我本身就是这样一个例子。C#和Java都是面向对象的语言,设计模式对两者是通用的,今天就来谈一谈我对面向对象设计原则之一—依赖倒置原则的理解,之所以选择这个原则,因为之前对这个原则的理解很是模糊。

  首先,依赖倒置的标准定义:

  高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。

  这个定义听得人云里雾里,不知所云。究其原因,是几个概念不清楚。

  1、依赖,什么叫依赖?

  依赖是程序模块(普通类、抽象类、接口)的一种关系,主要包括以下几种情况。

  a、ClassA中某个方法的参数类型是ClassB;  这种情况成为耦合;
  b、ClassA中某个方法的参数类型是ClassB的一个属性; 这种情况成为紧耦合;
  c、ClassA中某个方法的实现实例化ClassB;
  d、ClassA中某个方法的返回值的类型是ClassB;

  2、倒置,为什么叫倒置?

  倒置是相对于我们的一般思路而言的。一般情况下,高层模块是依赖低层模块的。比如A书高层模块类,B是低层模块类,如果A调用B,那就要再A中实例化一个B的对象。这样,A就会依赖B。而依赖倒置做的就是要解除这种依赖,用的方法就是两者都依赖于抽象。

  • 相关文章
发表评论
用户名: 匿名