js设计模式:外观模式

作用:

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

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

示例:

javascript 复制代码
        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()

相关推荐
奶昔不会射手10 小时前
css3之grid布局
前端·css·css3
举个栗子dhy10 小时前
解决在父元素上同时使用 onMouseEnter和 onMouseLeave时导致下拉菜单无法正常展开或者提前收起问题
前端·javascript·react.js
Coding_Doggy11 小时前
苍穹外卖前端Day1 | vue基础、Axios、路由vue-router、状态管理vuex、TypeScript
前端
前端与小赵11 小时前
vue3和vue2生命周期的区别
前端·javascript·vue.js
用户4582031531711 小时前
10个你可能不知道的实用CSS技巧,立竿见影提升开发效率
前端·css
在逃牛马11 小时前
【Uni-App+SSM+MP 宠物实战】Day4:Uni-App 项目初始化
前端
J_Asia11 小时前
如何exclude不必要的so文件?
前端
一鹿有你们~11 小时前
面试题-前端如何解决跨域
前端·javascript·跨域
文心快码BaiduComate11 小时前
文心快码升级至3.5S版本,强化多智能体自协同能力
前端·后端·程序员