第二周作业
题目:
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
依赖倒置原则是程序设计六大基本原则之一。六大基本设计原则:单一职责原则;开闭原则;里氏替换原则;依赖倒置原则;接口隔离原则;最少知道原则。
依赖倒置原则的定义是高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。
好莱坞原则
好莱坞原则:别调用我们,我们会调用你
作用:防止“依赖腐败”
解释:在好莱坞原则之下,我们允许低层组件将自己挂钩到系统上,但是高层组件会决定什么时候和怎样使用这些低层组件。换句话说,高层组件对待低层组件的方式是“别调用我们,我们会调用你”。
依赖倒置原则教我们尽量避免使用具体类,而多使用抽象。
而好莱坞原则是用在创建框架或组件上的一种技巧,好让低层组件能够被挂钩进计算中,而且又不会让高层组件依赖低层组件。二者的目标都是在于解耦,但是依赖倒置原则更加注重如何在设计中避免依赖。
好莱坞原则教我们一个技巧,创建一个有弹性的设计,允许低层结构能够互相操作,而又防止其他类太过依赖它们。
依赖倒置原则落地的最佳实践就是Spring。Spring核心就是IOC组件。Controller,Service+Impl,Mapper高层模块和低层模块之间都是依赖于接口,而不是具体实现类。这样降低了类与类之间的依赖。
用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
接口隔离原则:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。
接口隔离原则(ISP)的目的是系统解开耦合,从而容易重构,更改和重新部署。
类图:
UML代码:
版权声明: 本文为 InfoQ 作者【南宫煌】的原创文章。
原文链接:【http://xie.infoq.cn/article/44c4c376a9ad0ea0c71ac86b5】。未经作者许可,禁止转载。
评论