架构师训练营 - 命题作业 2
1、请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
答:
上层模块不应该依赖底层模块,它们都应该依赖于抽象。
抽象不应该依赖于细节,细节应该依赖于抽象。
而好莱坞原则:不要调用框架,而是让框架来调用你,就是子系统实现自己的业务,不需要关心框架或大系统,由框架决定何时调用子系统,框架与子系统之间靠抽象关联,正好符合依赖倒置原则的要求。
2、请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
答:
在 SpringBoot 项目的开发中,开发者不需要关注持久层使用的是什么数据库,甚至不需要关心数据库方言,具体使用什么数据库,在配置中可以随时修改,同时使用了 JPA 的接口规则和 JQL 的语法规则来屏蔽方言差异。
同样,所有的高层访问 Bean,都不需要知道具体的实现类,而是直接通过容器的 getBean 方法来获取抽象的实现。
3、请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
答:
优化前的 Cache 类图:
常见情况下,缓存只需要用到增删改查功能,用不到 reBuild 方法,所以把增删改查和重建,拆分成 2 个接口,实现如下:
不需要重建方法的,只需要使用时定义 CacheCRUD 接口就可以了。
只需要重建方法的,使用时定义 CacheBuild 接口。
版权声明: 本文为 InfoQ 作者【水边】的原创文章。
原文链接:【http://xie.infoq.cn/article/5acefc8453c2b8c2225aebba4】。文章转载请联系作者。
评论