结构型模式:Bridge(桥接)
2013-02-05 22:47
411 查看
http://zh.wikipedia.org/wiki/%E6%A9%8B%E6%8E%A5%E6%A8%A1%E5%BC%8F
/** "Implementor" */ interface DrawingAPI { public void drawCircle(double x, double y, double radius); } /** "ConcreteImplementor" 1/2 */ class DrawingAPI1 implements DrawingAPI { public void drawCircle(double x, double y, double radius) { System.out.printf("API1.circle at %f:%f radius %f\n", x, y, radius); } } /** "ConcreteImplementor" 2/2 */ class DrawingAPI2 implements DrawingAPI { public void drawCircle(double x, double y, double radius) { System.out.printf("API2.circle at %f:%f radius %f\n", x, y, radius); } } /** "Abstraction" */ interface Shape { public void draw(); // low-level public void resizeByPercentage(double pct); // high-level } /** "Refined Abstraction" */ class CircleShape implements Shape { private double x, y, radius; private DrawingAPI drawingAPI; public CircleShape(double x, double y, double radius, DrawingAPI drawingAPI) { this.x = x; this.y = y; this.radius = radius; this.drawingAPI = drawingAPI; } // low-level i.e. Implementation specific public void draw() { drawingAPI.drawCircle(x, y, radius); } // high-level i.e. Abstraction specific public void resizeByPercentage(double pct) { radius *= pct; } } /** "Client" */ class BridgePattern { public static void main(String[] args) { Shape[] shapes = new Shape[2]; shapes[0] = new CircleShape(1, 2, 3, new DrawingAPI1()); shapes[1] = new CircleShape(5, 7, 11, new DrawingAPI2()); for (Shape shape : shapes) { shape.resizeByPercentage(2.5); shape.draw(); } } }
相关文章推荐
- 设计模式深入学习---Bridge桥接模式(结构型模式)
- 设计模式07: Bridge 桥接模式(结构型模式)
- 七个结构型模式2:桥接模式-Bridge Pattern【学习难度:★★★☆☆,使用频率:★★★☆☆】
- 设计模式之结构型模式(一)-----桥接(bridge)模式
- Bridge 桥接(结构型模式)
- Java经典设计模式-结构型模式-桥接模式(Bridge)
- 设计模式-结构型- 桥接模式(Bridge)
- 桥接(bridge) 模式--结构型模式之五
- C#面向对象设计模式纵横谈 笔记8 Bridge 桥接(结构型模式)
- Bridge(桥接)-对象结构型模式
- 结构型模式--Bridge桥接模式
- 2.2 Bridge(桥接) -- 对象结构型模式
- 七、桥接模式Bridge(结构型)
- 结构型—桥接(Bridge)模式
- 结构型模式2:桥接模式(Bridge Pattern)
- 设计模式学习之桥接模式(Bridge,结构型模式)(15)
- [导入]C#面向对象设计模式纵横谈(8):Bridge 桥接模式(结构型模式).zip(9.01 MB)
- Bridge 桥接(结构型模式)
- 结构型模式-----桥接模式(Bridge)
- 结构型模式:桥接(Bridge)