橋接模式Bridge Pattern
?
組合關系(實心菱形):強的擁有關系,體現了嚴格的整體和部分的關系,部分和整體的生命周期相同。
聚合關系(空心菱形):弱的擁有關系,A對象可以包含B對象,B對象不是A對象的一部分。
?
橋接模式Bridge Pattern,將抽象部分和它的實現部分分離,使它們都可以獨立的變化。
實現系統多角度分類,讓他們能夠獨立變化,降低了耦合度
package bridge.pattern;public interface Implementor {public void Operation();}
package bridge.pattern;public class ConcreteImplementorA implements Implementor {@Overridepublic void Operation() {// TODO Auto-generated method stubSystem.out.println("實現部分操作A");}}
package bridge.pattern;public class ConcreteImplementorB implements Implementor {@Overridepublic void Operation() {// TODO Auto-generated method stubSystem.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 {@Overridepublic void Operation() {// TODO Auto-generated method stubimplementor.Operation();}}
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();}
}