大话设计模式---- 桥接模式

一、合成/聚合复用原则:尽量使用合成/聚合而不是继承。

二、桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立的变化。实现指的是抽象类和它的派生类用来实现自己的对象。

三、代码示例

public abstract class HandsetSoft {
    public abstract void run();
}

public class HandsetGame extends HandsetSoft {
    @Override
    public void run() {
        System.out.println("运行手机游戏");
    }
}

public class HandsetAddressList extends HandsetSoft {
    @Override
    public void run() {
        System.out.println("运行手机通讯录");
    }
}

@Data
public abstract class HandsetBrand {

    protected HandsetSoft handsetSoft;

    public abstract void run();
}

public class HandsetBrandM extends HandsetBrand {
    @Override
    public void run() {
        System.out.println("HandsetBrandM");
        handsetSoft.run();
    }
}

public class HandsetBrandN extends HandsetBrand {
    @Override
    public void run() {
        System.out.println("HandsetBrandN");
        handsetSoft.run();
    }
}

public class Main {
    public static void main(String[] args) {
        HandsetBrand bd;
        bd = new HandsetBrandN();
        bd.setHandsetSoft(new HandsetGame());
        bd.run();

        bd.setHandsetSoft(new HandsetAddressList());
        bd.run();

        bd = new HandsetBrandM();
        bd.setHandsetSoft(new HandsetGame());
        bd.run();

        bd.setHandsetSoft(new HandsetAddressList());
        bd.run();
    }
}

 

posted @ 2020-04-12 22:12  Eden-programmer  阅读(176)  评论(0)    收藏  举报