BridgePattern(桥接模式)

Posted 麦子TMAC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BridgePattern(桥接模式)相关的知识,希望对你有一定的参考价值。

/**
 * 桥接模式
 * @author TMAC-J
 * 应用于多维度方案
 * 用组合的形式代替继承
 * 符合单一职责原则
 * 一个类只有一个引起他变化的原因
 * 增加程序灵活性
 */
public class BridgePattern {
    
    abstract class Road{
        Car car;
        void run(){};
    }
    
    abstract class Car{
        void showMyName(){};
    }
    
    public class Street extends Road{
        public void run(){
            car.showMyName();
            System.out.println("在街道上上奔驰");
        }
    }
    
    public class SpeedRoad extends Road{
        public void run(){
            car.showMyName();
            System.out.println("在高速路上奔驰");
        }
    }
    
    public class Bus extends Car{
        public void showMyName(){
            System.out.println("公交车");
        }
    }
    
    public class SedanCar extends Car{
        public void showMyName(){
            System.out.println("轿车");
        }
    } 
    
    public void test(){
        Street street = new Street();
        street.car = new Bus();
        street.run();//输出结果为公交车在街道上奔驰
        SpeedRoad speedRoad = new SpeedRoad();
        speedRoad.car = new SedanCar();
        speedRoad.run();//输出结果为轿车在高速路上奔驰
    }
    
}

 

以上是关于BridgePattern(桥接模式)的主要内容,如果未能解决你的问题,请参考以下文章

桥接模式(Bridge Pattern)

设计模式 -- 桥接模式(Bridge Pattern)

桥接模式:如何定义调用派生类实现的函数

桥接模式

桥接模式

C++设计模式——桥接模式(Bridge Pattern)