架构师第二期 作业
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
1.高层模块不应该依赖低层模块,抽象不依赖实现。抽象的控制权在调用方。
2.接口定义权在调用方
请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
spring cache 一个缓存框架,只提供local-cache的实现。其余第三方扩展
spring cache 提供关于缓存crud的实现。通过切面管理需要缓存策略的方法。
框架的主要构成:operator(crud),cache(缓存抽象),cacheManger(缓存差异化管理)
对外暴露 operator,提供缓存crud操作。 对内,operator操作具体根据cacheManager获取具体cache进行cache的crud。
在设计上,cache只是一个spi接口,由第三方进行具体实现
请用接口隔离原则优化 Cache 类的设计,画出优化后的类图
评论