写点什么

架构师训练营 - 作业 - 第二周

用户头像
Max2@12
关注
发布于: 2020 年 09 月 30 日

1. 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?

依赖倒置原则(Dependence Inversion Principle, DIP)内容:

  • 高层模块不应该依赖低层模块,两者都应该依赖其抽象

  • 抽象不应该依赖细节,而是细节应该依赖抽象

依赖倒置核心要求就是通过抽象(抽象类或接口)使各个类或模块实现彼此独立,不互相影响,实现模块间的松耦合。



在项目中使用这个原则,个人认为应该注意:

  • 模块间之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生

  • 每个类尽量尽可能有接口或抽象类,或者抽象类和接口都有: 依赖倒置原则的基本要求,有抽象才能依赖倒置

  • 变量的表面类型尽量是接口或者抽象类

  • 任何类都不应该从具体类派生

  • 尽量不要重写基类已经写好的方法(里式替换原则)

  • 结合里式替换原则和依赖倒置原则,我们设计中,可以:接口负责定义public属性和方法,并且声明与其他对象的依赖关系,抽象类负责公共构造部分的实现,实现类准确的实现业务逻辑,同时在适当的时候继承父类进行细化。



DIP是软件框架设计时应该遵守的核心原则。



2. 请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。



用户头像

Max2@12

关注

还未添加个人签名 2018.12.13 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 - 作业 - 第二周