外观模式

1

2 痛点

2-1 打开空调


@Data
public class Aircondition {

    public void open() {

    }
}

2-2 打开冰箱

/**
 * 冰箱
 */
@Data
public class Fridage {

    /**
     * 打开冰箱
     */
    public void open() {

    }
}

2-3 打开电视

/**
 * 电视
 */
@Data
public class Television {

    /**
     * 打开冰箱
     */
    public void open() {

    }
}

如果家里有1万个电器,要一个一个打开嘛?

3 外观模式

/**
 * 家用电器
 * facade门面设计模式
 * 就是往上,多一层封装。
 */
@Data
public class HomeDevice {

    private Aircondition aircondition = new Aircondition();

    private Fridage fridage = new Fridage();

    private Television television = new Television();

    public void open() {
        aircondition.open();
        fridage.open();
        television.open();
    }

    public static void main(String[] args) {
        HomeDevice homeDevice = new HomeDevice();
        // 这个开关一开,所有的底下电器,都控制住了。
        homeDevice.open();
    }

}
上一篇:C语言:外部函数


下一篇:select2搜索框被弹出层遮挡问题