【Java设计模式】之桥接模式
2016-03-13 22:36
417 查看
1. 定义
桥接模式(Bridge),将抽象部分与他的实现部分分离,使它们都可以独立的变化。
2. 桥接模式的类图
3. 桥接模式的基本代码
Implementor类:
ConcreteImplementorA和ConcreteImplementorB等派生类:
Abstraction类:
RefinedAbstraction类:
客户端实现:
执行结果:
实现A执行
实现B执行
4. 何时使用桥接模式
实现系统可能有多角度分类,每一种分类都有可能变化,那就把这种多角度分类分离出来让他们独立变化,减少他们之间的耦合。
桥接模式(Bridge),将抽象部分与他的实现部分分离,使它们都可以独立的变化。
2. 桥接模式的类图
3. 桥接模式的基本代码
Implementor类:
public interface Implementor { public abstract void run(); }
ConcreteImplementorA和ConcreteImplementorB等派生类:
public class ConcreteImplementorA implements Implementor { @Override public void run() { System.out.println("实现A执行"); } } public class ConcreteImplementorB implements Implementor { @Override public void run() { System.out.println("实现B执行"); } }
Abstraction类:
public abstract class Abstraction { private Implementor implementor; public void setImplementor(Implementor implementor) { this.implementor = implementor; } public void run(){ implementor.run(); } }
RefinedAbstraction类:
public class RefinedAbstraction extends Abstraction { }
客户端实现:
public static void main(String[] args) { Abstraction ab = new RefinedAbstraction(); ab.setImplementor(new ConcreteImplementorA()); ab.run(); ab.setImplementor(new ConcreteImplementorB()); ab.run(); }
执行结果:
实现A执行
实现B执行
4. 何时使用桥接模式
实现系统可能有多角度分类,每一种分类都有可能变化,那就把这种多角度分类分离出来让他们独立变化,减少他们之间的耦合。
相关文章推荐
- java异常处理
- Hello World (hadoop-eclipse插件安装与测试)
- JAVA SE——反射
- Java 并发
- 《Java程序设计》 第2周学习总结
- 20145316《Java程序设计》第二周学习总结
- java面向对象的三种特征简述(随笔)
- Java基础复习String对象创建的分析
- 粗谈《Java与模式》一书
- java day02 交换数据
- leetcode:Integer to Roman 【Java】
- 20145331 《Java程序设计》第2周学习总结
- Spring分布式事务实现
- 关于struts2框架学习
- Java集合源码学习笔记(三)LinkedList分析
- leetcode:Longest Common Prefix 【Java】
- java中数组常见的排序问题整理
- WebService-CXF-Spring 基于web的cxf(三)------参考传智播客视频
- 模仿mybatis,用jdk proxy实现接口
- Java day02 类型转换