什么是依赖倒置原则,并简述其如何帮助上游服务沉淀接口和数据标准?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
依赖倒置原则是一种设计原则,它建议高层模块不应该依赖低层模块,而应该通过抽象来依赖。在微服务架构中,这可以通过上游服务定义服务提供者接口(SPI),下游服务实现这些SPI来实现。这样,上游服务能够定义并沉淀自己的接口和数据标准,不再需要适配各个下游服务的不同接口,而是由下游服务开发者按照上游提供的SPI接口文档来实现。
依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。
如何帮助上游服务沉淀接口和数据标准简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。
1、高层模块不应该依赖低层模块,二者都应该依赖其抽象
2、抽象不应该依赖细节,细节应该依赖抽象
3、依赖倒置的中心思想是面向接口编程
4、依赖倒置原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。在 java 中,抽象指的是接口或抽象类,细节就是具体的实现类
5、使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成
——参考链接。