桥梁模式

参考:http://www.cnblogs.com/java-my-life/archive/2012/05/07/2480938.html

桥梁模式的结构

/DesignPatterns/src/com/louis/bridge/Implementor.java

/**
 * Project Name:DesignPatterns
 * File Name:Implementor.java
 * Package Name:com.louis.bridge
 * Date:2017年11月1日下午8:36:16
 * Copyright (c) 2017, 2692613726@qq.com All Rights Reserved.
 *
*/

package com.louis.bridge;
/**
 * ClassName:Implementor 
 * Function: TODO ADD FUNCTION. 
 * Reason:     TODO ADD REASON. 
 * Date:     2017年11月1日 下午8:36:16 
 * @author   michael
 * @version  
 * @since    JDK 1.7
 * @see      
 */
public abstract class Implementor {
    //示例方法,实现抽象部分需要的某些具体功能
    public abstract void operationimpl();
}

/DesignPatterns/src/com/louis/bridge/Abstracttion.java

/**
 * Project Name:DesignPatterns
 * File Name:Abstracttion.java
 * Package Name:com.louis.bridge
 * Date:2017年11月1日下午8:37:48
 * Copyright (c) 2017, 2692613726@qq.com All Rights Reserved.
 *
*/

package com.louis.bridge;
/**
 * ClassName:Abstracttion 
 * Function: TODO ADD FUNCTION. 
 * Reason:     TODO ADD REASON. 
 * Date:     2017年11月1日 下午8:37:48 
 * @author   michael
 * @version  
 * @since    JDK 1.7
 * @see      
 */
public abstract class Abstracttion {
    protected Implementor impl;
    public Abstracttion(Implementor implementor){
        this.impl = implementor;
    }
    
    //示例方法
    public void operation(){
        impl.operationimpl();
    }
}

/DesignPatterns/src/com/louis/bridge/RefinedAbstraction.java

/**
 * Project Name:DesignPatterns
 * File Name:RefinedAbstraction.java
 * Package Name:com.louis.bridge
 * Date:2017年11月1日下午8:40:24
 * Copyright (c) 2017, 2692613726@qq.com All Rights Reserved.
 *
*/

package com.louis.bridge;
/**
 * ClassName:RefinedAbstraction 
 * Function: TODO ADD FUNCTION. 
 * Reason:     TODO ADD REASON. 
 * Date:     2017年11月1日 下午8:40:24 
 * @author   michael
 * @version  
 * @since    JDK 1.7
 * @see      
 */
public class RefinedAbstraction extends Abstracttion {

    /**
     * Creates a new instance of RefinedAbstraction.
     *
     * @param implementor
     */
    public RefinedAbstraction(Implementor implementor) {
        super(implementor);
        // TODO Auto-generated constructor stub
    }
    //其他操作方法
    public void otherOperation(){

    }
}

/DesignPatterns/src/com/louis/bridge/ConcreteImplementorA.java

/**
 * Project Name:DesignPatterns
 * File Name:ConcreteImplementor.java
 * Package Name:com.louis.bridge
 * Date:2017年11月1日下午8:43:57
 * Copyright (c) 2017, 2692613726@qq.com All Rights Reserved.
 *
*/

package com.louis.bridge;
/**
 * ClassName:ConcreteImplementor 
 * Function: TODO ADD FUNCTION. 
 * Reason:     TODO ADD REASON. 
 * Date:     2017年11月1日 下午8:43:57 
 * @author   michael
 * @version  
 * @since    JDK 1.7
 * @see      
 */
public class ConcreteImplementorA extends Implementor{

    /**
     * TODO 简单描述该方法的实现功能(可选).
     * @see com.louis.bridge.Implementor#operationimpl()
     */
    @Override
    public void operationimpl() {
        // TODO Auto-generated method stub
        
    }
    
}

/DesignPatterns/src/com/louis/bridge/ConcreteImplementorB.java

/**
 * Project Name:DesignPatterns
 * File Name:ConcreteImplementor.java
 * Package Name:com.louis.bridge
 * Date:2017年11月1日下午8:43:57
 * Copyright (c) 2017, 2692613726@qq.com All Rights Reserved.
 *
*/

package com.louis.bridge;
/**
 * ClassName:ConcreteImplementor 
 * Function: TODO ADD FUNCTION. 
 * Reason:     TODO ADD REASON. 
 * Date:     2017年11月1日 下午8:43:57 
 * @author   michael
 * @version  
 * @since    JDK 1.7
 * @see      
 */
public class ConcreteImplementorB extends Implementor{

    /**
     * TODO 简单描述该方法的实现功能(可选).
     * @see com.louis.bridge.Implementor#operationimpl()
     */
    @Override
    public void operationimpl() {
        // TODO Auto-generated method stub
        
    }
    
}

使用场景-发送消息案例

详细参考http://www.cnblogs.com/java-my-life/archive/2012/05/07/2480938.html,讲解的非常好

桥梁模式在Java中的使用-jdbc驱动器

详细参考http://www.cnblogs.com/java-my-life/archive/2012/05/07/2480938.html,讲解的非常好

原文地址:https://www.cnblogs.com/Michael2397/p/7768634.html