【极客大学】【架构师训练营】【第二周】依赖倒置原则和接口隔离原则

发布于: 17 小时前
【极客大学】【架构师训练营】【第二周】依赖倒置原则和接口隔离原则

题一

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

答:1)依赖倒置原则是指导框架设计的核心思想。传统设计方式下,低层工具模块定义并实现接口,高层业务模块则依赖于低层工具模块的实现,这样低层模块的改动会直接影响到高层模块。依赖倒置原则颠覆了这种设计方式,即高层(框架)定义接口,低层(service)实现接口,二者之间是通过接口进行依赖的,这样就倒置了接口的所有权,使得高层拥有了接口,低层反而要依赖于高层的接口定义,使得高层模块可以复用。

2)HollyWood原则:Don't call us, we will call you。这句话阐述了框架与service之间的高低层关系,即框架为高层,service为低层,框架来调用service,service无需调用框架

题二

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

看过一点libevent源码,使用c语言编写的,libevent库定义了一个通用接口

void (*callback)(evutil_socket_t, short, void *)

顾名思义,这是一个回调函数的接口定义,外部只需要创建好event,然后将对应的event和callback注入框架中即可,客户函数再触发eventloop轮询,当有事件被触发时,自动回调到callback函数中

题三

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

答:

发布于: 17 小时前 阅读数: 5
用户头像

NieXY

关注

还未添加个人签名 2018.12.29 加入

还未添加个人简介

评论

发布
暂无评论
【极客大学】【架构师训练营】【第二周】依赖倒置原则和接口隔离原则