架构师训练营第二周作业
作业一:
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
答:
依赖倒置原则
(1)高层模块不能依赖低层模块,两者都应该依赖抽象;
(2)抽象不能依赖,而是实现依赖抽象。
即对抽象进行编程。
好莱坞原则:“不要给我们打电话,我们会给你打电话(Don’t call me, I’ll call you)”,这样主动权并不是在演员自己的手上,而是在演艺公司手上,将这个原则应用到软件领域,高层模块会根据需要调用需要使用的相应底层模块,当不需要的时候就不会调用不需要的底层模块,这个时候依赖倒置原则又被称为好莱坞原则。
作业二:请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
Spring MVC。依赖倒置原则其实本质上是面向接口进行编程,尽可能的降低系统的耦合性。Spring MVC将模型、视图和控制器进行分离,实现视图和数据解耦,使得后台处理数据与前台视图展示的相互影响降到最低,同时可以根据相应的需要调用对应的模块。
作业三:
请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
作业三提示:cache 实现类中有四个方法,其中 put get delete 方法是需要暴露给应用程序的,rebuild 方法是需要暴露给系统进行远程调用的。如果将 rebuild 暴露给应用程序,应用程序可能会错误调用 rebuild 方法,导致 cache 服务失效。按照接口隔离原则:不应该强迫客户程序依赖它们不需要的方法。也就是说,应该使 cache 类实现两个接口,一个接口包含 get put delete 暴露给应用程序,一个接口包含 rebuild 暴露给系统远程调用。从而实现接口隔离,使应用程序看不到 rebuild 方法。
评论