架构师训练营 - 作业 - 第二周
1. 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖倒置原则(Dependence Inversion Principle, DIP)内容:
高层模块不应该依赖低层模块,两者都应该依赖其抽象
抽象不应该依赖细节,而是细节应该依赖抽象
依赖倒置核心要求就是通过抽象(抽象类或接口)使各个类或模块实现彼此独立,不互相影响,实现模块间的松耦合。
在项目中使用这个原则,个人认为应该注意:
模块间之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生
每个类尽量尽可能有接口或抽象类,或者抽象类和接口都有: 依赖倒置原则的基本要求,有抽象才能依赖倒置
变量的表面类型尽量是接口或者抽象类
任何类都不应该从具体类派生
尽量不要重写基类已经写好的方法(里式替换原则)
结合里式替换原则和依赖倒置原则,我们设计中,可以:接口负责定义public属性和方法,并且声明与其他对象的依赖关系,抽象类负责公共构造部分的实现,实现类准确的实现业务逻辑,同时在适当的时候继承父类进行细化。
DIP是软件框架设计时应该遵守的核心原则。
2. 请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
评论