博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计原则—依赖倒转原则
阅读量:7082 次
发布时间:2019-06-28

本文共 538 字,大约阅读时间需要 1 分钟。

定义

1:高层模块不应该依赖低层模块,两者都应该依赖其抽象;
2:抽象不应该依赖细节;
3:细节应该依赖抽象。
更加精简的定义就是“面向接口编程”——OOD(Object-Oriented Design,面向对象设计)的精髓之一。

为什么要倒转?

 原因:面向过程的开发时,为了使常用代码可以复用,一般都会把这些常用代码写成许多函数的程序库,这样我们在做新项目的时候,去调用这些底层的函数就可以了,比如,我们做的项目大多需要访问数据库,所以就把访问数据库的代码写成了函数,这也叫做高层模块依赖底层模块,但问题也就出在这里,我们要做新的项目,发现业务逻辑的高层模块都是一样的,但客户端希望使用不同的数据库或存储信息方式,这时就出现麻烦了,我们希望能够再次使用这些高层模块,但发现这些高层模块都是与底层的访问数据库绑定在一起的,没有办法复用这些高层模块,这样显然不合理,而如果不管高层模块还是底层模块都是依赖于抽象,具体一点就是接口或抽象类,只要接口是稳定的,那么任何一个的更改都不会影响到其它方面,这就使得无论是高层模块还是底层模块都可以很容易的被复用,这才是最好的办法。

转载于:https://www.cnblogs.com/smallerpig/p/3646159.html

你可能感兴趣的文章
Python面向对象编程 - 一个记事本程序范例(一)
查看>>
马桶餐厅
查看>>
我对程序员技能的一些认识
查看>>
在linux下如何修改oracle的sys和system的密码
查看>>
【C语言】01-C语言概述
查看>>
mysql FullText全文索引的问题
查看>>
空格&nbsp在不同浏览器中显示距离不一致问题解决方法
查看>>
Dynamic CRM 2013学习笔记(八)过滤查找控件 (类似省市联动)
查看>>
iOS执行时与method swizzling
查看>>
SQL点滴21—几个有点偏的语句
查看>>
Android各种效果集合
查看>>
【转】Geary's C
查看>>
Linux中查看socket状态(转)
查看>>
public-private-protected-默认缺省 的区别
查看>>
React Native上手
查看>>
0919 - iPaste 上架 App Store
查看>>
iKcamp&掘金Podcast直播回顾(12月2号和9号的两场)
查看>>
Java简短知识点
查看>>
Hibernate第八篇【懒加载】
查看>>
[面试∙网络] TCP/IP(四):TCP 与 UDP 协议简介
查看>>