一、什么是桥接模式
Bridge 模式又叫做桥接模式,是构造型的设 计模式之一。Bridge模式基于类的最小设计原则,通过 使用封装,聚合以及继承等行为来让不同的类承担不同 的责任。它的主要特点是把抽象(abstraction)与行为 实现(implementation)分离开来,从而可以保持各部 分的独立性以及应对它们的功能扩展。
二、桥接模式的结构
三、桥接模式的角色和职责
Client
Bridge模式的使用者
Abstraction
抽象类接口(接口或抽象类)
维护对行为实现(Implementor)的引用
Refined Abstraction
Abstraction子类
Implementor
行为实现类接口 (Abstraction接口定义了基于Implementor接口的更高层次的操作)
ConcreteImplementor
Implementor子类
公共汽车
1 //公共汽车 2 public abstract class Bus implements Car { 3 4 public abstract void installEngine();//安装引擎 5 }
公共汽车2000
1 //公共汽车2000 2 public class Bus2000 extends Bus{ 3 4 public void installEngine() { 5 System.out.println("给Bus安装2000cc发动机"); 6 } 7 }
公共汽车2200
1 //公共汽车2200 2 public class Bus2200 extends Bus { 3 4 public void installEngine() { 5 System.out.println("给Bus安装2200cc发动机"); 6 } 7 }
汽车
//汽车 public interface Car { public void installEngine();//安装引擎 }
Jeep车
1 //Jeep车 2 public abstract class Jeep implements Car { 3 4 public abstract void installEngine();//安装引擎 5 }
Jeep2000
1 //Jeep2000 2 public class Jeep2000 extends Jeep{ 3 4 public void installEngine() { 5 System.out.println("给Jeep安装2000cc发动机"); 6 } 7 }
Jeep2200
//Jeep2200 public class Jeep2200 extends Jeep { public void installEngine() { System.out.println("给Jeep安装2200cc发动机"); } }
测试
1 public class MainClass { 2 public static void main(String[] args) { 3 Car car1 = new Bus2000(); 4 car1.installEngine();//安装引擎 5 } 6 }