代码语言:javascript复制
作业一:
1. 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
2. 请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
代码语言:javascript复制提示:cache 实现类中有四个方法,其中 put get delete 方法是需要暴露给应用程序的,rebuild 方法是
需要暴露给系统进行远程调用的。如果将 rebuild 暴露给应用程序,应用程序可能会错误调用 rebuild 方法,
导致 cache 服务失效。按照接口隔离原则:不应该强迫客户程序依赖它们不需要的方法。也就是说,应该
使 cache 类实现两个接口,一个接口包含 get put delete 暴露给应用程序,一个接口包含 rebuild
暴露给系统远程调用。从而实现接口隔离,使应用程序看不到 rebuild 方法。
什么是依赖倒置原则
是什么:程序要依赖于抽象接口,不要依赖于具体实现
怎么做:高层模块依赖高层接口,低层模块去实现高层接口
为什么:依赖倒置是框架设计的重要原则,这样的设计方式,使高层模块更容易重用
倒置了什么:面向过程的开发,上层调用下层,上层依赖于下层,当下层剧烈变动时上层也要跟着变动,这就会导致模块的复用性降低而且大大提高了开发的成本。依赖倒置,倒置了模块或包的依赖关系(从上层以来下层,转变为下层依赖上层接口),倒置了开发顺序和职责
好莱坞原则:Don't call me, I'll call you
因为好莱坞原则与依赖倒置理念相同,所以依赖倒置又被称为好莱坞原则