Java学习笔记(10)-23种设计模式之桥接模式(Bridge

2020-02-25  本文已影响0人  非典型程序猿

今天总结结构型模式的第三种模式,桥接模式(Bridge模式)。

定义

将抽象与实现分离,使他们可以独立变化,它利用抽象类和接口组合的方式来替代继承关系,从而降低了抽象和实现这两个可变维度的耦合度。

结构

代码示例

public class MyBridgeTest {
    public static void main(String[] args){
        ConcreteImplementorA concreteImplementorA = new ConcreteImplementorA();
        Abstraction refinedAbstraction = new RefinedAbstraction(concreteImplementorA);
        refinedAbstraction.Operation();
    }
    /**
     * 实现化角色
     */
    interface Implementor{
        void OperationImpl();
    }
    /**
     * 具体实例化角色
     */
    static class ConcreteImplementorA implements Implementor{

        @Override
        public void OperationImpl() {
            System.out.println("具体实例化(ConcreteImplementorA)角色被访问");
        }
    }
    /**
     * 抽象化角色
     */
    static abstract class Abstraction{
       protected  Implementor implementor;
       protected Abstraction(Implementor implementor){
           this.implementor = implementor ;
       }
       public abstract void Operation();
    }
    /**
     * 扩展抽象化角色
     */
    static class RefinedAbstraction extends Abstraction
    {
        protected RefinedAbstraction(Implementor implementor)
        {
            super(implementor);
        }
        public void Operation()
        {
            System.out.println("扩展抽象化(Refined Abstraction)角色被访问" );
            implementor.OperationImpl();
        }
    }
}

打印结果如下

扩展抽象化(Refined Abstraction)角色被访问
具体实例化(ConcreteImplementorA)角色被访问

简单梳理一下实现原理

优缺点

上一篇 下一篇

猜你喜欢

热点阅读