为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
大概就是emmmm 去餐馆吃饭你和服务员点了餐,点了酒水,要了几份餐具等等。
你在桌子哪里坐着,服务员就给你把这些事儿给办妥了,还给你送过来。
class Dish {
make() {
console.log('制作菜肴')
}
}
class Wine {
take() {
console.log('拿取酒水')
}
}
class Tableware {
take() {
console.log('拿取餐具')
}
}
class Waiter {
constructor() {
this.dish = new Dish()
this.wine = new Wine()
this.tableware = new Tableware()
}
service(typeArr) {
typeArr.forEach(type => {
if(type === 'dish') this.dish.make()
if(type === 'wine') this.wine.take()
if(type === 'tableware') this.tableware.take()
})
}
}
const waiter = new Waiter()
waiter.service(['dish', 'wine', 'tableware'])