5、依赖倒置原则

电脑主板上的显卡,内存,硬盘,风扇...等!如果说和主板的关系是[color=red]易插拔关系[/color].
那么软件中就应该是[color=red]高内聚,低耦合[/color]了.

[color=red]依赖倒置原则,抽象不应该依赖细节,解析应该依赖抽象,说白了就是针对接口编程,不要对实现编程.[/color]
原则一:高层模块不应该依赖低层模块.两个都应该依赖抽象.
原则二:抽象不应该依赖细节,细节应该依赖抽象.

高层模块依赖低层模块,低层数据库封装的DataBases,高层所有业务模块对数据库操作都会调用低层的方法进行对数据库操作.这时高层模块依赖低层模块了

问题:这样代码量减少了没错,如果更换了数据库,但是高层模块是一样的,现在高低曾是依赖的,这样不容易得到复用,(比如之前是sqlserver,现在更换oracle了,语句等等都不一样)
如果现在依赖低层是一个抽象接口或者抽象类,就可以解决这个问题了.但随之而来的就是[color=red]里氏替换原则了[/color]

里氏替换原则,儿子可以替换老子,老子不能替换儿子!!(有点俗了,好理解!)
当子类替换掉父类,但功能不受到影响,父类才能真正被复用,而子类也能够在父类的基础上增加新的行为.
由于子类型的可替换性才使得使用父类类型的模块在无需修改的情况下就可以扩展.

依赖倒转其实就是谁也不要依靠谁,除了约定的接口,大家都可以灵活自如!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值