设计模式原则—依赖倒转原则三

依赖倒转原则解释:抽象不应该依赖于细节,细节应该依赖于抽象,说通俗点也就是针对接口编程,不要针对实现编程

. 我们在做开发的时候,要访问数据库,就会把访问数据库代码写成函数,每次去开发的时候调用这些函数就行了,其实这就叫高层模块依赖低层模块,违反了依赖倒转原则

. 当我们做一个新项目的时候,发现业务逻辑的高层模块都是一样的,但是客户希望换成不同的数据库,这就出问题了,我们希望能再次利用这些高层的业务逻辑模块,但是高层的业务逻辑模块和低层的数据访问模块是绑定的,没有办法复用这些高层模块,就好像电脑里如果cpu,内存,硬盘都需要依赖具体的主板,主板一换,所有的部件就没用了,这是不合理的,反过来,因为cpu对应到具体的某个品牌的主板,那么cpu一换,那就得更换主板了,这也是不合理的,这里的例子就体现了“倒转”两个字的含义

. 不管高层模块还是低层模块,它们应该都依赖与抽象,就是都依赖接口和抽象类,只要接口是稳定的,那么任何一个的更改都不用担心其他的受到影响,这就使得无论高层模块还是低层模块都可以被复用,这也是最好的办法

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...