设计模式-依赖倒转原则
2011-03-20 16:56
309 查看
依赖倒转原则解释:抽象不应该依赖于细节,细节应该依赖于抽象。说通俗点也就是针对接口编程,不要针对实现编程。
我们在做开发的时候,要访问数据库,就会把访问数据库的代码写成函数,每次去开发的时候调用这些函数就行了,其实这就叫高层模块依赖底层模块,违反了依赖倒转原则。
当我们做一个新项目的时候,发现业务逻辑的高层模块都是一样的,但是客户希望换成不同的数据库,这就出问题了,我们希望能再次利用这些高层的业务逻辑模块,但是高层的业务逻辑模块和低层的数据访问模块是绑定的,没有办法复用这些高层模块。就好像电脑里如果CPU,内存,硬盘都需要依赖具体的主板,主板一换,所有的部件就没用了,这是不合理的,反过来,应为CPU对应到具体的某个品牌的主板,那么CPU一换,那就得更换主板了,这也是不合理的。这里的例子就体现了“倒转”两个字的含义。
不管高层模块还是底层模块,它们应该都依赖与抽象,就是都依赖接口和抽象类,只要接口是稳定的,那么任何一个的更改都不用担心其他的受到影响,这就使得无论高层模块还是低层模块都可以被复用。这也是最好的办法。
本文来自博客园博客,转载请标明出处:http://www.cnblogs.com/menglin2010/archive/2011/03/20/1989550.html
我们在做开发的时候,要访问数据库,就会把访问数据库的代码写成函数,每次去开发的时候调用这些函数就行了,其实这就叫高层模块依赖底层模块,违反了依赖倒转原则。
当我们做一个新项目的时候,发现业务逻辑的高层模块都是一样的,但是客户希望换成不同的数据库,这就出问题了,我们希望能再次利用这些高层的业务逻辑模块,但是高层的业务逻辑模块和低层的数据访问模块是绑定的,没有办法复用这些高层模块。就好像电脑里如果CPU,内存,硬盘都需要依赖具体的主板,主板一换,所有的部件就没用了,这是不合理的,反过来,应为CPU对应到具体的某个品牌的主板,那么CPU一换,那就得更换主板了,这也是不合理的。这里的例子就体现了“倒转”两个字的含义。
不管高层模块还是底层模块,它们应该都依赖与抽象,就是都依赖接口和抽象类,只要接口是稳定的,那么任何一个的更改都不用担心其他的受到影响,这就使得无论高层模块还是低层模块都可以被复用。这也是最好的办法。
本文来自博客园博客,转载请标明出处:http://www.cnblogs.com/menglin2010/archive/2011/03/20/1989550.html
相关文章推荐
- 设计模式之单一职责原则、开发-封闭原则和依赖倒转原则
- 设计模式初探2:几个原则:单一职责、开闭原则、依赖倒转原则
- 【架构师之路】-【01设计模式】-04设计原则之依赖倒转原则
- 【设计模式】依赖倒转原则
- 设计模式中遵循的原则:单一职责、开发-封闭、依赖倒转
- 设计模式之依赖倒转原则
- 【设计模式】三、单一职责原则,开发-封闭原则,依赖倒转原则
- 设计模式 学习笔记(2)单一职责原则、开放封闭原则、依赖倒转原则
- 设计模式之依赖倒转原则学习
- 设计模式学习笔记三:开发原则,开放-封闭原则,依赖倒转原则
- 设计模式-依赖倒转原则
- 设计模式之依赖倒转原则
- 设计模式之依赖倒转原则学习
- 设计模式六大设计原则之三:依赖倒转原则
- 五 单一职责、开放—封闭、依赖倒转原则——设计模式学习笔记
- 设计模式之依赖倒转原则
- 设计模式--单一职责原则,开放封闭原则,依赖倒转原则
- java设计模式_依赖倒转原则
- 设计模式:依赖倒转原则
- 设计模式:5 依赖倒转原则