外观模式是一种常用的软件设计模式,它为子系统提供了一个统一的接口,使得客户端可以与子系统中的多个对象进行交互,而不需要了解子系统的内部细节。这种设计模式可以提高客户端的代码可读性和可维护性,同时也可以简化子系统的实现。
什么是外观模式
外观模式是一种结构型设计模式,它提供了一个统一的接口,允许客户端通过这个接口与子系统中的多个对象进行交互。外观模式将客户端与子系统的实现细节分离开来,使得客户端可以更方便地使用子系统。
外观模式通常包含两个角色:
- 外观角色:为子系统提供统一的接口,使得客户端可以通过这个接口与子系统中的多个对象进行交互。外观角色并不关心子系统的具体实现细节。
- 子系统角色:实现外观角色所提供的接口,处理与客户端的交互。
模式结构
代码实现
var Facade = function () {
this.systemA = new SystemA()
this.systemB = new SystemB()
this.systemC = new SystemC()
}
Facade.prototype.wrapOpration = function () {
this.systemA.oprationA()
this.systemB.oprationB()
this.systemC.oprationC()
}
var SystemA = function () {}
SystemA.prototype.oprationA = function () {
console.log("oprationA");
}
var SystemB = function () {}
SystemB.prototype.oprationB = function () {
console.log("oprationB");
}
var SystemC = function () {}
SystemC.prototype.oprationC = function () {
console.log("oprationC");
}
let facade = new Facade()
facade.wrapOpration()
// oprationA
// oprationB
// oprationC