架构作业 - 第 2 周

发布于: 7 小时前
  1. 什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?

高层模块不要依赖低层模块,高层模块和低层模块应该通过抽象来互相依赖。除此之外,抽象不要依赖具体实现细节,具体实现细节依赖抽象。

好莱坞原则:Don't call me, I'll call you. 倒转的层次依赖关系。

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

dubbo在框架层面定义了整个RPC的执行流程,并预留出很多的扩展点,详见官方文档说明。

程序可以通过继承并实现某个扩展点的类,然后在规定的配置文件名的配置项中标记扩展名和扩展类,让框架在启动后找到自定义的扩展类,并加载到RPC的执行流程中。

RPC框架作为高层,不依赖低层模块(即用户自定义程序),两者通过抽象来互相依赖(扩展点定义为抽象接口,程序的具体实现细节要依赖抽象)。另外,控制反转指RPC的流程由框架而非用户程序控制,这个过程中用户程序依赖高层模块,只改变某些扩展点的具体行为。

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

发布于: 7 小时前 阅读数: 3
用户头像

铁血杰克

关注

还未添加个人签名 2017.12.18 加入

还未添加个人简介

评论

发布
暂无评论
架构作业-第2周