架构师训练营第 02 周—— 练习

用户头像
李伟
关注
发布于: 2020 年 06 月 17 日
架构师训练营第 02周—— 练习

作业一:

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



作业一答案:

依赖倒置原则:高层模块(high-level modules)不要依赖低层模块(low-level)。高层模块和低层模块应该通过抽象(abstractions)来互相依赖。除此之外,抽象(abstractions)不要依赖具体实现细节(details),具体实现细节(details)依赖抽象(abstractions)。



好莱坞原则:不要给我们打电话,我们会给你打电话(don't call us, we'll call you)。好莱坞原则强调高层对低层的主动作用,即底层应该只管好自己的工作(具体实现),而高层自有它自己的工作,在不需要某个低层的时候,高层并不会调用到这个具体的低层。



有概念上可以得出,依赖倒置原则和好莱坞原则相似,因此有时候依赖倒置原则又被称为好莱坞原则。



作业二:

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



以Spring框架为例,在Controller层使用Service层对象时,首先定义一个使用@Autowired注解修饰的Service层接口的引用类型,然后由Spring框架负责注入实际的对象,即消除了Controller层(高层)和Service层(底层)的直接依赖(使用new关键字创建对象)。



作业三:



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





重构后



用户头像

李伟

关注

还未添加个人签名 2018.05.07 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第 02周—— 练习