【极客大学】【架构师训练营】【第二周】依赖倒置原则和接口隔离原则
题一
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
答:1)依赖倒置原则是指导框架设计的核心思想。传统设计方式下,低层工具模块定义并实现接口,高层业务模块则依赖于低层工具模块的实现,这样低层模块的改动会直接影响到高层模块。依赖倒置原则颠覆了这种设计方式,即高层(框架)定义接口,低层(service)实现接口,二者之间是通过接口进行依赖的,这样就倒置了接口的所有权,使得高层拥有了接口,低层反而要依赖于高层的接口定义,使得高层模块可以复用。
2)HollyWood原则:Don't call us, we will call you。这句话阐述了框架与service之间的高低层关系,即框架为高层,service为低层,框架来调用service,service无需调用框架
题二
请描述一个你熟悉的框架,是如何实现依赖倒置的?
看过一点libevent源码,使用c语言编写的,libevent库定义了一个通用接口
顾名思义,这是一个回调函数的接口定义,外部只需要创建好event,然后将对应的event和callback注入框架中即可,客户函数再触发eventloop轮询,当有事件被触发时,自动回调到callback函数中
题三
请用接口隔离原则优化cache类的设计,画出优化后的类图
答:
版权声明: 本文为 InfoQ 作者【NieXY】的原创文章。
原文链接:【http://xie.infoq.cn/article/e66b839955f9488ff6ee25d94】。
本文遵守【CC BY-NC】协议,转载请保留原文出处及本版权声明。
评论