- 1
- 0
- 约6.85千字
- 约 31页
- 2018-01-07 发布于河南
- 举报
01设计模式01基础
问题由来:类A直接依赖类B,若要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般为高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。 解决方案:将类A修改为直接依赖接口I,类B和类C实现接口I,这样类A通过接口I和类B或者类C发生联系。 public class BMWCar { public void run(){ System.out.println(BMW is runing.....); }} public class Driver { public void drive(BMWCar bmw){ System.out.println(Driver is driving); bmw.run(); }} public class Client { public static void main(String[] args) { // TODO Auto-generated method stub Driver driver=new Driver(); driver.drive(new BMWCar()); }} 那现在如果司机开的是Benz的车,那么我们就得要修改Driver类的drive行为了。那如果司机还开别的类型的车,比如Bick等,那我们岂不是都是对Dri
原创力文档

文档评论(0)