写点什么

架构师训练营 - 命题作业 2

用户头像
水边
关注
发布于: 2020 年 06 月 14 日

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

答:

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

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

而好莱坞原则:不要调用框架,而是让框架来调用你,就是子系统实现自己的业务,不需要关心框架或大系统,由框架决定何时调用子系统,框架与子系统之间靠抽象关联,正好符合依赖倒置原则的要求。


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

答:

在 SpringBoot 项目的开发中,开发者不需要关注持久层使用的是什么数据库,甚至不需要关心数据库方言,具体使用什么数据库,在配置中可以随时修改,同时使用了 JPA 的接口规则和 JQL 的语法规则来屏蔽方言差异。

同样,所有的高层访问 Bean,都不需要知道具体的实现类,而是直接通过容器的 getBean 方法来获取抽象的实现。


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

答:

优化前的 Cache 类图:

常见情况下,缓存只需要用到增删改查功能,用不到 reBuild 方法,所以把增删改查和重建,拆分成 2 个接口,实现如下:

不需要重建方法的,只需要使用时定义 CacheCRUD 接口就可以了。

只需要重建方法的,使用时定义 CacheBuild 接口。

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

水边

关注

还未添加个人签名 2019.04.14 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营-命题作业2