week2. 课后作业

用户头像
个人练习生niki
关注
发布于: 2020 年 06 月 17 日

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

高层模块不依赖底层模块,实现依赖抽象。抽象不依赖实现,实现依赖抽象。

高层定义需要的接口,底层去实现接口功能。高层调用接口即可,并不需要关心底层的实现方式。抽象属于高层,倒置了开发顺序和职责,模块或包的依赖关系。谁定义接口很重要。

可以应用的场景,策略模式,前端定义接口参数(更贴近业务,属于高层),框架。

好莱坞原则 Don't call me, I'll call you。call动作的发起者是高层,接受者是底层。高层调用底层,底层不能调用高层。调用的权利在高层手中,高层决定何时何地什么场景调用什么底层,底层只需要等待被调用即可。

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

基于约定编程,Spring框架通过各种注解标注出各种元素组件,Controller、Service、Component等,开发人员按照Spring的规则写各种符合规则的实现类,通过AutoWired注解指明需要依赖的功能,可以重复利用组件。

所有的类都会在spring容器中登记,告诉spring你是什么,你需要什么,然后spring会在系统运行到适当的时候,把你要的主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。

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







发布于: 2020 年 06 月 17 日 阅读数: 21
用户头像

做一个真诚、坦诚的行人,追求自由。 2018.07.30 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
cache的实现可以更简洁
2020 年 06 月 23 日 21:23
回复
没有更多了
week2.课后作业