写点什么

架构师训练营第 2 周作业

用户头像
风吹
关注
发布于: 2020 年 06 月 15 日

作业一:

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

面向过程的编程,上层依赖与下层实现,依赖倒置原则对这个依赖关系进行解耦,要求上层与下层都依赖于抽象的接口,又上层来定义接口,面向接口编程,不管下层的实现怎么变化,上层的逻辑都不需要变化。

好莱坞原则:请不要打我电话,我会打你电话(don't call us, we'll call you),讲的是好莱坞强调高层的主导作用,由好莱坞决定演员需要做的事,演员只关注自己要做的本份工作,好莱坞进行全局统筹。根框架设计中的依赖倒置原则,要求高层进行全局定义,底层业务来实现需求,并且不影响任何框架层面的逻辑。

作业二:

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

Spring 框架实现 IOC 容齐,通过 Autowired 注解的方式来调用接口,接口的实现通过 IOC 来注入,从而可自由切换实现。Controller 依赖于 Service 接口,而不依赖于实现。

作业三:

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


可切换缓存实现类图:


1、ICache 接口 提供给应用端

2、IReBuilder 接口 提供给管理端

3、基于 ICache 实现各种缓存

4、ReBuildableCache,同时实现 ICache 及 IReBuilder 接口,通过 config 对象来识别使用不同的缓存实现


用户头像

风吹

关注

还未添加个人签名 2019.04.04 加入

还未添加个人简介

评论

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