第二周作业

用户头像
kk
关注
发布于: 2020 年 06 月 17 日
第二周作业

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

依赖倒置原则

高层模块不直接依赖低层模块,而是通过抽象来互相依赖。抽象不要依赖具体实现细节,具体实现细节依赖抽象。现实生活中其实有很多符合依赖倒置原则的设计,比如电源插座,生产插座的厂商和生产电器的厂商都要遵循国家标准GB 2099.9-2017,来进行设计和生产。这里的GB 2099.9-2017国标就是高层和低层之间的抽象。

好莱坞原则 - Don't Call Me, I'll Call You

从概念上来看,好莱坞原则实际上是依赖倒置原则的扩展,它更强调的是高层对低层的主动作用,低层只需要做好具体实现,高层会在需要的时候去调用低层。这个概念在实践过程中更多的被称为控制反转(Inversion Of Control)。控制反转被广泛应用在框架设计上,“控制”通常指的是框架对程序执行流程的控制,而“反转”指的是在没有使用框架之前,执行流程由程序员控制。在使用框架之后,程序的执行由框架控制,程序员只需要进行具体功能的实现。

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

RabbitMQ 基于AMQP 0-9-1标准实现了server端,client端通过实现AMQP 0-9-1标准,就可以完成与RabbitMQ的交互。client端采用的语言与技术实现完全由自己决定,已知的java客户端就已经有8种不同的实现。

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



用户头像

kk

关注

还未添加个人签名 2018.04.25 加入

还未添加个人简介

评论

发布
暂无评论
第二周作业