写点什么

架构师训练营第 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周—— 练习