属于结构型模式(共7种)

    目的:双维度扩展
    在抽象和具体两个维度上同时扩展互相不影响 不会产生类爆炸

    类图:
    image.png
    概述:
    分离抽象和具体;用聚合方式(桥)连接抽象与具体

    举例用法
    使用桥接模式: 分离抽象与具体实现,让他们可以独自发展
    Gift -> WarmGift 、ColdGift 、 WildGift
    GiftImpl -> Flower 、Ring 、Car

    1. //抽象类 聚合抽象具体类
    2. public abstract class Gift {
    3. GiftImpl impl;
    4. }
    5. //抽象系中的具体实现类
    6. public class WarmGift extends Gift {
    7. //子类构造方法 参数为父类属性
    8. public WarmGift(GiftImpl impl) {
    9. this.impl = impl;
    10. }
    11. }
    12. //抽象类中聚合的 具体类
    13. public class GiftImpl {
    14. }
    15. //具体类族系中 具体类
    16. public class Flower extends GiftImpl {
    17. }
    18. //实际使用
    19. public class GG {
    20. public void chase(MM mm) {
    21. Gift g = new WarmGift(new Flower());
    22. give(mm, g);
    23. }
    24. public void give(MM mm, Gift g) {
    25. System.out.println(g + "gived!");
    26. }
    27. }

    桥接经典的例子
    系统的窗口
    image.png