橋梁模式
- 描述
- 基本組件
- 使用
描述
橋梁模式是一種相對簡單的模式,通常以組合替代繼承的方式實現。
從設計原則來講,可以說是單一職責的一種體現。
將原本在一個類中的功能,按更細的粒度拆分到不同的類中,然后各自獨立發展。
基本組件
該模式,通常包含:抽象化角色(持有實現化角色完成功能)、實現化角色、修正抽象化角色、具體實現化角色
- 實現化角色
public interface Implementor {void implAction();
}
- 具體是實現化角色
public class MyImplementor implements Implementor {@Overridepublic void implAction() {System.out.println("MyImplementor action ....");}
}
- 抽象化角色
public abstract class Abstraction {private final Implementor implementor;public Abstraction(Implementor implementor) {this.implementor = implementor;}public void doAction() {implementor.implAction();action();}protected abstract void action();
}
- 修正抽象化角色
public class RefinedAbstraction extends Abstraction {public RefinedAbstraction(Implementor implementor) {super(implementor);}@Overrideprotected void action() {System.out.println("RefinedAbstraction action ...");}
}
使用
public class Sample {public static void main(String[] args) {Abstraction abstraction = new RefinedAbstraction(new MyImplementor());abstraction.doAction();}
}