JS设计模式—外观模式(Facade Pattern )

外观模式


为一组复杂的子系统接口提供一个更高级的统一接口,通过这个接口使得对子系统接口的访问更容易。

举例1


绑定事件的兼容写法

function addEvent(el, type, fn) {

    if (window.addEventListener) {

        el.addEventListener(type, fn, false)

    } else if (window.attachEvent) {

        el.attachEvent('on' + ev, fn)

    } else {

        el['on' + type] = fn

    }

}

举例2


class Carousel {

    constructor() {

        console.log('初始化轮播)

    }

    start() {

        console.log('轮播开始启动')

    }

}

class Tab {

    constructor() {

        console.log('初始化Tab)

    }

    start() {

        console.log('Tab开始启动')

    }

}

/*

let carousel = new Carousel()

let tab = new Tab()

carousel.start()

tab.start()

*/

class App() {

    constructor() {

        this.carousel = new Carousel()

        this.tab = new Tab()

    }

    start() {

        this.carousel.start()

        this.tab.start()

    }

}

let app = new App()

app.start()

你可能感兴趣的:(JS设计模式—外观模式(Facade Pattern ))