桥接模式Bridge Pattern
组合关系(实心菱形):强的拥有关系,体现了严格的整体和部分的关系,部分和整体的生命周期相同。
聚合关系(空心菱形):弱的拥有关系,A对象可以包含B对象,B对象不是A对象的一部分。
桥接模式Bridge Pattern,将抽象部分和它的实现部分分离,使它们都可以独立的变化。
实现系统多角度分类,让他们能够独立变化,降低了耦合度
package bridge.pattern;
public class BridgePattern {
public static void main(String[] args){
Abstration ab=new RefinedAbstraction();
ab.setImplementor(new ConcreteImplementorA());
ab.Operation();
ab.setImplementor(new ConcreteImplementorB());
ab.Operation();
}
}
package bridge.pattern;
public interface Implementor {
public void Operation();
}
package bridge.pattern;
public class ConcreteImplementorA implements Implementor {
@Override
public void Operation() {
// TODO Auto-generated method stub
System.out.println("实现部分操作A");
}
}
package bridge.pattern;
public class ConcreteImplementorB implements Implementor {
@Override
public void Operation() {
// TODO Auto-generated method stub
System.out.println("实现部分操作B");
}
}
package bridge.pattern;
public abstract class Abstration {
protected Implementor implementor;
public void setImplementor(Implementor implementor){
this.implementor=implementor;
}
public abstract void Operation();
}
package bridge.pattern;
public class RefinedAbstraction extends Abstration {
@Override
public void Operation() {
// TODO Auto-generated method stub
implementor.Operation();
}
}