设计模式-结构型- 桥接模式(Bridge)
来源:互联网 发布:比特币交易网源码 编辑:程序博客网 时间:2024/06/13 12:58
定义
将抽象部分与它的实现部分分享,使它们都可以独立地变化
角色
抽象角色(Abstraction):定义了抽象类的接口而且维护着一个指向实现角色的引用
具体抽象角色(RefinedAbstraction):实现并扩充由抽象角色定义的接口
实现角色(Implementor):给出了实现类的接口,这里的接口与抽象角色中的接口可以不一致
具体实现角色(ConcreteImplementor):给出了实现角色定义接口的具体实现
优点
- 将可能的变化封装了起来,降低了变化产生的影响
- 抽象部分和实现部分各自的变动不会破坏系统的结构;也就是降低了耦合
- 实现细节对客户是透明的
适用场景
- 当系统中有多个地方要使用到类似的行为,或者多个类似行为的组合时
- 系统中某个类的行为可能会有不同的变化趋势,为了将变化有效的封装起来时
- 一个行为可能被不同的类使用时
类图
package com.vapy.structure.Bridge;/** * * @author vapy 2016年9月3日 * */public abstract class Abstraction { protected Implementor implementor; public Implementor getImplementor() { return implementor; } abstract public void operation();}
package com.vapy.structure.Bridge;/** * * @author vapy 2016年9月3日 * */public class RefinedAbstraction extends Abstraction { @Override public void operation() { implementor.operation(); }}
package com.vapy.structure.Bridge;/** * * @author vapy 2016年9月3日 * */public abstract class Implementor { abstract public void operation();}
package com.vapy.structure.Bridge;/** * * @author vapy 2016年9月3日 * */public class ConcreteImplementorA extends Implementor { @Override public void operation() { System.out.println("ConcreteImplementorA oprration"); }}
package com.vapy.structure.Bridge;/** * * @author vapy 2016年9月3日 * */public class ConcreteImplementorB extends Implementor { @Override public void operation() { System.out.println("ConcreteImplementorB operation"); }}
package com.vapy.structure.Bridge;/** * * @author vapy 2016年9月3日 * */public class Client { public static void main(String[] args) { Abstraction abstraction = new RefinedAbstraction(); abstraction.implementor = new ConcreteImplementorA(); abstraction.operation(); abstraction.implementor = new ConcreteImplementorB(); abstraction.operation(); }}
本文代码可在github查看:点击此处
3 0
- 设计模式--桥接模式Bridge(结构型)
- 设计模式-结构型- 桥接模式(Bridge)
- BRIDGE桥接设计模式(结构型)
- 结构型设计模式---桥接模式(Bridge)
- 设计模式(结构型)之桥接模式(Bridge Pattern)
- 【设计模式】结构型模式之桥接Bridge
- 设计模式(7)--Bridge(桥接模式)--结构型
- 设计模式(十二)桥模式(Bridge)-结构型
- 设计模式(七):桥接模式Bridge(结构型模式)
- 设计模式中结构型模式(二)桥接模式(Bridge)
- 设计模式之桥接模式(Bridge)之三(典型结构图) 结构型模式
- 【结构型模式】桥接模式(Bridge)之23种java设计模式
- Java设计模式之结构型模式-桥接模式(Bridge)
- 结构型-桥接模式(Bridge)
- Bridge桥接模式(结构型模式)
- Bridge 桥接模式(结构型模式)
- 结构型模式--Bridge桥接模式
- 结构型模式-Bridge ( 桥接模式 )
- Cells Not Under Attackvct
- ListView动态刷新某项Item
- 网络流24题之太空飞行计划——最大权闭合子图
- 递归和非递归实现二叉树的后续遍历
- 《Java源码分析》:TreeMap
- 设计模式-结构型- 桥接模式(Bridge)
- hiho1263 奖券兑换
- 栈的压入、弹出序列
- 大型网站架构演变史(含技术栈与价值观)
- 使用delegate的例子
- win7 32位系统汇编语言环境的建立
- dumpdecrypted对系统ios9.3.2以上的版本砸壳失败
- 使用EL表达式获取数据
- 常见的八大排序算法的比较和选择依据