架构师训练营第 2 周作业

用户头像
Season
关注
发布于: 2020 年 06 月 16 日

作业一:

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

1、上层模块不应该依赖底层模块,它们都应该依赖于抽象。

2、抽象不应该依赖于细节,细节应该依赖于抽象。

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



好莱坞原则:Don't call me, I'll call you

框架定义好接口,由底层实现,框架通过定义好的接口调用底层。

作业二:

请描述一个你熟悉的框架,是如何实现依赖倒置原则的。

Slf4j定义了抽象的Logger方法,底层可通过Log4J、Logback等实现。客户端在实现日志功能时,依赖于Slf4j抽象出来的日志方法,然后可以单独配置具体的日志实现框架,客户端代码不依赖与具体的日志实现。



依赖倒置原则并不局限于客户端定义抽象/接口,也可以是框架层面或者更高层面定义的接口(比如tomcat之于Java EE)、后期抽象的接口(Log4j之于Slf4j)

作业三:

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

将Cache中的方法定义为CacheClient和CacheManager两个接口,CacheManager负责缓存的重建,供远程服务调用,CacheClient负责缓存数据的增删查改,供本地客户端调用,客户端无法通过CacheClient调用rebuild方法



发布于: 2020 年 06 月 16 日 阅读数: 48
用户头像

Season

关注

还未添加个人签名 2019.09.28 加入

还未添加个人简介

评论

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