架构师训练营第二周作业
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖倒置原则:从“你定义我调用”到“我定义你实现”的思维策略转变。高层定义接口,低层实现接口。所有的底层改动和新增功能都不会影响高层逻辑。通过“策略模式”实现依赖倒置,底层的实现作为不同的策略被高层调用,高层直接和接口交互,在运行时多态决定具体使用哪个策略来执行底层逻辑。
好莱坞原则:Don't call me,I'll call you。框架代码作为高层代码不依赖低层业务代码实现,而是通过接口方式提供扩展能力。低层的业务代码不需要主动去调用框架代码来运行自己,框架代码本身在执行时主动调用低层用户代码。业务代码使用了框架的功能但又不需要主动调用框架,依赖关系是倒置的。
请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
spring 框架中一个 javabean 的生命周期,不需要用户主动去调用生命周期的各个方法来实现自己的业务逻辑,而是通过注解或者实现接口的方式,无感知的在 spring 框架执行过程中被调用。
请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
评论