简单梳理桥接模式
桥接模式的实现
桥接模式的基本实现方法
抽象类或接口
public abstract class Implementor {
public abstract void Operation();
}
派生类ConcreteImplementorA和ConcreteImplementorB
public class ConcreteImplementorA extends Implementor{
@Override
public void Operation() {
System.out.println("具体实现A的方法执行。");
}
}
public class ConcreteImplementorB extends Implementor{
@Override
public void Operation() {
System.out.println("具体实现B的方法执行。");
}
}
Abstraction类
public class Abstraction {
protected Implementor implementor;
public void setImplementor(Implementor implementor) {
this.implementor = implementor;
}
public void Operation(){
implementor.Operation();
}
}
RefinedAbstraction类
public class RefinedAbstraction extends Abstraction{
public void Operation(){
implementor.Operation();
}
}
这样我们前期的定义就算做完了,
然后我们看具体应用中的使用。
定义业务方法
看在具体业务逻辑中如何使用
public class BridgeTest {
public static void main(String[] args) {
//桥接模式
func1();
}
public static void func1(){
Abstraction ab = new RefinedAbstraction();
ab.setImplementor(new ConcreteImplementorA());
ab.Operation();
ab.setImplementor(new ConcreteImplementorB());
ab.Operation();
}
}
执行结果
具体实现A的方法执行。
具体实现B的方法执行。
结果分析
桥接模式,将抽象部分与它的实现部分分离,使它们都可以独立的变化。
那什么叫抽象与它的实现分离呢?这并不是说让抽象类与派生类分离,这没有任何意义。
实现指的是抽象类和派生类用来实现自己的对象。
联系作者
微信公众号
xiaomingxiaola
(BossLiu)
QQ群
58726094
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 384276224@qq.com