架构 1 期 - 第二周作业一
什么是依赖倒置原则
依赖倒置原则是指:高层模块不能依赖低层模块,而是大家都依赖抽象;
抽象不能依赖实现,而是实现依赖抽象。
依赖倒置原则的精髓是高层模块定义接口,低层模块提供实现。以往的面向接口编程,接口是由各模块抽象给出,使得依赖它的其他模块被影响、被控制。
依赖倒置原则指明了高层模块必须对所依赖的低层模块做提前抽象,此种做法可以:定制更符合自身需要的接口抽象;与低层模块隔离;
依赖倒置原则倒置了依赖层次,通过提前抽象,使得依赖它的其他模块可以提前开发设计,而不用等待其具体实现。这样就做到了抽象和实现直接的解耦,也能实现开发职责、顺序的隔离。良好的依据抽象设计的系统,可以实现各个模块的独立开发,最终组合成完整系统。
依赖倒置原则通过提前抽象,预留出扩展点,让系统能通过新的实现类实现进化。
依赖倒置原则让使用者依据抽象实现自己的需求,只要满足规范,即可被框架调用,实现功能。
依赖倒置原则的实现方式是合理的抽象。抽象的粒度、表达方式都是需要重点设计的。抽象的粒度要满足 单一职责、接口隔离原则,屏蔽无关事务,给用户提供轻量级扩展接口,降低使用成本。单一职责和接口隔离原则是设计高内聚、低耦合系统的重要原则。
好莱坞原则
Don't call me,I'll call you.
好莱坞原则有两个含义:高层控制低层;通知代替轮询。依赖倒置原则符合"高层控制低层"的定义。依据 DIP,在运行期,框架调用实现类,框架是高层,实现类是低层。
接口隔离原则-Cache 类图
如上图,Cache 接口声明了缓存的一般操作方法:get\put\delete
。RebuildAble
接口抽象了具有reBuild
能力的实体。RebuildCache
实现了RebuildAble
接口,表明其可以实现缓存的reBuild
操作。但其内部会调用Cache
的各项 api 来完成。
版权声明: 本文为 InfoQ 作者【道长】的原创文章。
原文链接:【http://xie.infoq.cn/article/1e86c7ac0d85418744885fc5c】。未经作者许可,禁止转载。
评论