外观模式

外观(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

// 子系统A
class SubSystemA{
print(){
console.log('i am subsystem A');
}
}

// 子系统B
class SubSystemB{
say(){
console.log('i am subsystem B');
}
}

// 外观类
class System{
private sa: SubSystemA = new SubSystemA();
private sb: SubSystemB = new SubSystemB();
print(){
this.sa.print();
}
say(){
this.sb.say();
}
}

(function main(){
const sy = new System();
sy.print();
sy.say();
})()

采用外观模式,使得客户端与子系统不在紧耦,而是通过外观类进行统一的业务处理