外观模式(Facade)

1

定义

  外观模式(Facade):属于结构型模式,可以将子系统的能力通过一个统一对外的对象完成。

代码实战

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
33
34
35
36
37
38
class Mouse {
public void createMouse() {
System.out.println("create a mouse");
}
}

class Monitor {
public void createMonitor() {
System.out.println("create a monitor");
}
}

class Cpu {
public void createCpu() {
System.out.println("create a cpu");
}
}

class Computer {
Mouse mouse = new Mouse();

Monitor monitor = new Monitor();

Cpu cpu = new Cpu();

public void createComputer() {
mouse.createMouse();
monitor.createMonitor();
cpu.createCpu();
}
}

class Test {
public static void main(String[] args) {
Computer computer = new Computer();
computer.createComputer();
}
}

类图

1

特点

  外观模式的特点是,有多个小类共同完成某个任务。为了使用者的方便,提供一个外观类(Computer),其中持有小类的对象,通过外观类的public方法,提供一个对外接口,避免使用者分别操作每个小类对象。

总结

  外观模式是一个比较简单的设计模式,类似于函数的封装,将多个小函数封装成一个函数,通过这一个函数,避免使用者关注各个小函数的逻辑、顺序等细节。

-------------本文结束感谢您的阅读-------------
0%