Bridging mode : Separates the abstract part from its implementation, allowing them to change independently. An abstract class and its derived classes are used to implement their own objects.
First, define an abstract implementation class Implementor
publicabstractclass Implementor { publicabstractvoidoperation();}
Then define the specific 2 implementation class inheritance Implementor class
Public class concreteimplementa extends implementor{ @Override Public void Operation() {System.out.println ("Concrete implementation of method a"); }} Public class concreteimplementb extends implementor{ @Override Public void Operation() {System.out.println ("Concrete implementation of the method of B"); }}
Then define the abstraction abstract class
publicabstract class Abstraction { protected Implementor implementor; publicvoidsetImplementor(Implementor implementor){ this.implementor=implementor; } publicabstractvoidoperation();}
Then define the Refinedabstaction class inheritance abstraction
publicclass RefinedAbstaction extends Abstraction{ @Override publicvoidoperation() { implementor.operation(); }}
Client code
publicstaticvoidmain(String[] args) { //桥接模式 Abstraction abstraction=new RefinedAbstaction(); abstraction.setImplementor(new ConcreteImplementA()); abstraction.operation(); abstraction.setImplementor(new ConcreteImplementB()); abstraction.operation(); }
Bridge mode of design mode (note)