架构师训练营 1 期第 2 周:框架设计

用户头像
Wee权
关注
发布于: 2020 年 09 月 27 日

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

依赖倒置原则(DIP,Dependency Inversion Principle):高层模块不能依赖低层模块,而是大家都依赖于抽象,抽象不能依赖实现,而是实现依赖抽象。倒置开发顺序和职责,先开发接口,接口属于高层模块,低层模块实现接口。高层模块根据自己使用场景进行接口设计。软件层次化,高层决定低层,高层被重用。



Don't call me, I'll call you -> Don't call 框架, 框架 will call 代码

在好莱坞,把简历递交给演艺公司后就只有回家等待。由演艺公司对整个娱乐项的完全控制,演员只能被动式的接受公司的差使,在需要的环节中,完成自己的演出。



一般情况下,高层通过调用底层接口实现其功能,高层依赖底层。在框架设计时,为了实现高层框架重用,通过在高层决定抽象接口,底层模块实现接口的抽象方式实现依赖倒置,类似于好莱坞演艺公司的做法,所以有时候依赖倒置原则又被称为好莱坞原则。



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





  • 提示:cache 实现类中有四个方法,其中 put get delete 方法是需要暴露给应用程序的,rebuild 方法是需要暴露给系统进行远程调用的。如果将 rebuild 暴露给应用程序,应用程序可能会错误调用 rebuild 方法,导致 cache 服务失效。按照接口隔离原则:不应该强迫客户程序依赖它们不需要的方法。也就是说,应该使 cache 类实现两个接口,一个接口包含 get put delete 暴露给应用程序,一个接口包含 rebuild 暴露给系统远程调用。从而实现接口隔离,使应用程序看不到 rebuild 方法。



优化设计如下:



发布于: 2020 年 09 月 27 日 阅读数: 13
用户头像

Wee权

关注

还未添加个人签名 2018.02.07 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 1 期第 2 周:框架设计