依赖倒置原则
一、依赖倒置原则与好莱坞原则
依赖倒置原则
依赖倒置主要是通过要面向接口的编程来降低类间的耦合性。
模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的;
接口或抽象类不依赖于实现类,实现类依赖接口或抽象类。
好莱坞原则
好莱坞原则:Don't call me, I'll call you
好莱坞原则用在系统的高层组件和低层组件之间,低层组件将自己挂钩到系统上,高层组件会来决定什么时候和如何调用低层组件。
两个原则都是用于高层组件和低层组件之间调用,依赖倒置主要是面向接口编程,好莱坞原则适用于接口与实现类
二、依赖倒置原则优化实现类
请用接口隔离原则优化 Cache 类的设计,画出优化后的类图
cache 实现类中有四个方法,其中 put get delete 方法是需要暴露给应用程序的,rebuild 方法是需要暴露给系统进行远程调用的。如果将 rebuild 暴露给应用程序,应用程序可能会错误调用 rebuild 方法,导致 cache 服务失效。按照接口隔离原则:不应该强迫客户程序依赖它们不需要的方法。也就是说,应该使 cache 类实现两个接口,一个接口包含 get put delete 暴露给应用程序,一个接口包含 rebuild 暴露给系统远程调用。从而实现接口隔离,使应用程序看不到 rebuild 方法。
评论