外观模式(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
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
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
2
3
4
5
6
7
8
9
10
11
12