依赖倒置及接口隔离原则
1、依赖倒置原则
1.1、什么是依赖倒置
高层模块不能依赖低层模块,两者都应该依赖其抽象
抽象不能依赖实现,应该是实现依赖抽象
1.2、核心思想
接口应该由高层模块定义,低层模块实现接口,而不是低层模块实现抽象出一个接口给高层模块调用,核心是两者都面向这层接口编程。高层模块决定低层模块,这样高层才能被重用。
1.3、好莱坞原则
Don't call me,I'll cal you.
比如在Web应用程序中,Spring就属于高层模块,Web应用就属于低层模块,整个Web应用是由Sping调用运行起来的,框架在设计的时候就需要为低层模块设计好各种接口,让低层模块面向这些接口编程,这样才能达到框架的复用。
2、接口隔离原则
cache 实现类中有四个方法,其中 put get delete 方法是暴露给应用程序的,rebuild 方法是需要暴露给配置推送系统的。如果将 rebuild 暴露给应用程序,应用程序可能会错误调用 rebuild 方法,导致 cache 服务失效。按照接口隔离原则:不应该强迫客户程序依赖它们不需要的方法。
优化方案如下,其中WebService为应用程序,ConfigPushService为配置推送系统。
2.1、多继承方案
2.2、适配器方案
评论