码迷,mamicode.com
首页 > 其他好文 > 详细

依赖倒置之我见

时间:2017-03-15 22:39:08      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:返回   细节   选择   接口   面向对象设计   面向对象的思想   今天   思想   参数   

  .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。而依赖倒置做的就是要解除这种依赖,用的方法就是两者都依赖于抽象。

依赖倒置之我见

标签:返回   细节   选择   接口   面向对象设计   面向对象的思想   今天   思想   参数   

原文地址:http://www.cnblogs.com/tcwyh/p/6556797.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!