外观模式(Facade Pattern)

2024/3/27 Java进阶

外观模式就是对一系列操作的封装,提供一个简单的操作接口就可以完成一系列的操作。

# 1、外观模式案例

以开启洗衣机的流程,一般情况需要:开启洗衣机、选择模式、选择水量需要三步,那么我们就可以通过外观模式来个一键清洗。

public class OperatingWashingSystem {

    public void open(){
        System.out.println("启动洗衣机");
    }

    public void selectType(int type){
        switch (type){
            case 1:
                System.out.println("快洗");break;
            case 2:
                System.out.println("干洗");break;
            case 3:
                System.out.println("浸泡洗");break;
            default:
                System.out.println("普通模式");break;
        }
    }

    public void waterVolume(int type){
        switch (type){
            case 1:
                System.out.println("6L水量");break;
            case 2:
                System.out.println("7L水量");break;
            case 3:
                System.out.println("8L水量");break;
            default:
                System.out.println("5L水量");break;
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public class Facade {

    private OperatingWashingSystem operatingWashingSystem = new OperatingWashingSystem();

    public void oneClickCleaning(){
        operatingWashingSystem.open();
        operatingWashingSystem.selectType(1);
        operatingWashingSystem.waterVolume(2);
    }

}
1
2
3
4
5
6
7
8
9
10
11
public class ClientTest {
    public static void main(String[] args) {
        Facade facade = new Facade();
        facade.oneClickCleaning();
    }
}
/**
 * 输出结果:
 * 启动洗衣机
 * 快洗
 * 7L水量
 * /
1
2
3
4
5
6
7
8
9
10
11
12