依赖倒转原则解释:抽象不应该依赖于细节,细节应该依赖于抽象。说通俗点也就是针对接口编程,不要针对实现编程。
我们在做开发的时候,要访问数据库,就会把访问数据库的代码写成函数,每次去开发的时候调用这些函数就行了,其实这就叫高层模块依赖底层模块,违反了依赖倒转原则。
当我们做一个新项目的时候,发现业务逻辑的高层模块都是一样的,但是客户希望换成不同的数据库,这就出问题了,我们希望能再次利用这些高层的业务逻辑模块,但是高层的业务逻辑模块和低层的数据访问模块是绑定的,没有办法复用这些高层模块。就好像电脑里如果cpu,内存,硬盘都需要依赖具体的主板,主板一换,所有的部件就没用了,这是不合理的,反过来,应为cpu对应到具体的某个品牌的主板,那么cpu一换,那就得更换主板了,这也是不合理的。这里的例子就体现了“倒转”两个字的含义。
不管高层模块还是底层模块,它们应该都依赖与抽象,就是都依赖接口和抽象类,只要接口是稳定的,那么任何一个的更改都不用担心其他的受到影响,这就使得无论高层模块还是低层模块都可以被复用。这也是最好的办法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。