首页 > 代码库 > 设计模式 -- 桥接模式(Bridge Pattern)
设计模式 -- 桥接模式(Bridge Pattern)
桥接模式 Bridge Pattern 结构设计模式
定义:
- 分离抽象部分和实现部分,使他们独立运行。
- 避免使用继承导致系统类个数暴增,可以考虑桥接模式。
- 桥接模式将继承关系转化为关联关系,减少耦合,减少代码量。
例如:
public interface Shape { public void bepaint(String color);}
public abstract class Color { Shape shape; public void setShape(Shape shape) { this.shape = shape; } public abstract void draw();}
public class Red extends Color { @Override public void draw() { shape.bepaint("红色"); }}
public class Green extends Color { @Override public void draw() { shape.bepaint("绿色"); }}
public class Circle implements Shape { @Override public void bepaint(String color) { System.out.println(color + "的圆形"); }}
public class Square implements Shape { @Override public void bepaint(String color) { System.out.println(color + "的正方形"); }}
public class Test { /** * @param args */ public static void main(String[] args) { Shape circle_shape = new Circle(); Color red_color = new Red(); red_color.setShape(circle_shape); red_color.draw(); System.out.println("-----------------"); Shape square_shape = new Square(); red_color.setShape(square_shape); red_color.draw(); }}
实验结果:
红色的圆形-----------------红色的正方形
桥接模式优缺点:
缺点:
设计难度比较大,要能正确识别系统中独立变化的维度,具有局限性。
优点:
- 实现抽象部分和实现部分的解耦,比继承的实现方案好点;
- 可扩充并无需修改原有系统;
设计模式 -- 桥接模式(Bridge Pattern)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。