一、桥接模式的概念
将抽象部分与它的实现部分分离,使它们都可以独立地变化。桥接模式将继承关系转化成关联关系,它降低了类与类之间的耦合度,减少了系统中类的数量,也减少了代码量。(系统可能有多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让它们独立变化,减少耦合)
抽象类[Abstraction]
扩充抽象类[RefinedAbstraction]
实现类接口[Implementor]
具体实现类[ConcreteImplementor]
二、桥接模式的实现
//抽象类
public abstract class Phone{
protected Implementor implementor;
public void setImplementor(Implementor implementor){
this.implementor = implementor;
}
public abstract void operation();
}
//扩展抽象类
public class RefinedAbstraction extends Abstraction{
public void operation(){
implementor.operation();
}
}
//实现类
public abstract class Implementor{
public abstract void operation();
}
//具体实现类A
public class ConcreteImplementorA extends Implementor{
public void operation(){
System.out.println("具体实现A的方法执行");
}
}
//具体实现类B
public class ConcreteImplementorB extends Implementor{
public void operation(){
System.out.println("具体实现B的方法执行");
}
}
public class Test{
public static void main(String[] args){
Abstraction ab = new RefinedAbstraction();
ab.setImplementor(new ConcreteImplementorA());
ab.operation();
ab.setImplementor(new ConcreteImplementorB());
ab.operation();
}
}
三、桥接模式的应用
四、桥接の其他问题
五、Reference
六、Resource