参考: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,讲解的非常好