表面形式
为子体系中的一组接口供应一个一致的界面,Facade形式定义了一个高层接口,这个接口使得这一子体系越发轻易运用。隐蔽体系的庞杂性,并向客户端供应了一个客户端能够接见体系的接口。下降接见庞杂体系的内部子体系时的庞杂度。在客户端和庞杂体系之间再加一层,将挪用递次、依靠关联等处理好。
实例
模仿电脑启动,假定电脑启动递次:启动CPU,启动内存,启动硬盘,加载数据等。
代码
// 表面形式
function CPU() {
this.startup = function () {
console.log("启动CPU");
};
}
function Memory() {
this.startup = function () {
console.log("启动Memory");
};
}
function Disk() {
this.startup = function () {
console.log("启动Disk");
};
}
function Computer() {
var _cpu, _memory, _disk;
_cpu = new CPU();
_memory = new Memory();
_disk = new Disk();
this.start = function () {
_cpu.startup();
_memory.startup();
_disk.startup();
}
}
computer = new Computer();
computer.start();
表面形式长处
1.削减体系相互依靠。
2.进步灵活性。
2.进步了安全性。
实用场景:
1.为庞杂的模块或子体系供应外界接见的模块。
2.客户顺序与抽象类的完成部份之间存在着很大的依靠性。引入facade 将这个子体系与客户以及其他的子体系星散,能够进步子体系的独立性和可移植性。