作用:

将复杂的功能封装成可以简单调用的方法,无需知道内部的具体逻辑,只需要知道怎么去使用

类似于一把枪,你可以不知道内部的枪机,击发机,复进簧,枪管,导气装置,弹夹是怎么合作配合完成发射和自动填弹,你只需要知道你扣动扳机就能完成这一系列复杂的操作,而那个扳机就是外观的一个接口

示例:

        const wjt = {
            name:'王惊涛',
            code:()=>{
                console.log('会写代码')
            },
            game:()=>{
                console.log('会打游戏')
            },
            love:()=>{
                console.log('热爱美女')
            }
        }

        const sunwukong = {
            name:'孙悟空',
            change:()=>{
                console.log('72变化')
            },
            fly:()=>{
                console.log('腾云架雾')
            },
            immobilize:()=>{
                console.log('会定身术')
            }
        }

        const sunwutao = {
            name:'孙悟涛',
            code:()=>{
                wjt.code()
            },
            love:()=>{
                wjt.love()
            },
            change:()=>{
                sunwukong.change()
            },
            fly:()=>{
                sunwukong.fly()
            },
            immobilize:()=>{
                sunwukong.immobilize()
            },
        }

        sunwutao.love()
        sunwutao.immobilize()

js设计模式:外观模式-LMLPHP

02-25 01:17