架构师训练营第二周作业
什么是依赖倒置原理?为什么又叫做好莱坞原理
依赖倒置原理(DIP):依赖抽象,而不是依赖具体实现。高层模块不依赖低层模块,高层模块和低层模块通过抽象来相互依赖。
好莱坞原则就是:Don't call us, we will call you。好莱坞原则说明高层模块调用低层模块,低层模块不用理会高层是如何调用的,只要按照所依赖的抽象接口进行实现。而高层也不依赖具体的低层,只需要按照自己的逻辑调用低层。
请描述一个你熟悉的框架,是如何实现依赖倒置原则的
Spring框架充满依赖倒置原则的实现例子。以Spring的Bean容器管理Bean的生命周期为例。Bean在Spring的容器里面,生命周期划分了多个阶段,根据具体的业务场景,每个Bean在不同的阶段有不同的逻辑执行。Spring容器作为高层模块,在管理Bean生命周期的过程中,不依赖于Bean的具体实现,通过规范的抽象接口,在Bean的生命周期的每个阶段,依照抽象接口调用Bean所实现的方法。例如,如果Bean实现ApplicationContextAware接口,将会注入Spring容器的引用;比如实现了InitializingBean,容器会在初始化Bean后调用afterPropertiesSet方法。
作业三
评论