js设计模式:桥接模式

作用:

可以将复杂的类进行一些拆分,让抽象和实现进行分离解耦,可以让每一个部分都可以单独维护

方便扩展和维护

示例:

javascript 复制代码
        class Obj {
            constructor(person) {
                this.person = person
                this.name = person.name
            }
            getHobby(){
                return this.person.hobby
            }
            getBehavior(){
                return this.person.behavior()
            }
        }

        class Human {
            constructor(hobby) {
                this.name = '打工人'
                this.hobby = hobby
            }
            behavior() {
                console.log('一身打工人的怨气')
            }
        }
        class Deity {
            constructor(hobby) {
                this.name = '神仙'
                this.hobby = hobby
            }
            behavior() {
                console.log('过着神仙般的生活')
            }
        }

        const wjt = new Obj(new Human('抖音刷美女,或者打游戏'))
        const sunwukong = new Obj(new Deity('定身七仙女,然后吃桃子'))

        console.log(wjt.name+'的爱好:'+wjt.getHobby())
        console.log(sunwukong.name+'的爱好:'+sunwukong.getHobby())
相关推荐
by__csdn2 分钟前
Electron+Vite:实现electron + vue3 + ts + pinia + vite高效跨平台开发指南
前端·javascript·vue.js·typescript·electron·node.js·vue
国服第二切图仔2 分钟前
Electron 鸿蒙pc开发环境搭建完整保姆级教程(window)
javascript·electron·harmonyos
马达加斯加D3 分钟前
C# --- 如何写UT
前端·c#·log4j
Charles_go4 分钟前
C#中级39、什么是依赖注入设计模式
java·设计模式·c#
yqcoder17 分钟前
在 scss 中,&>div 作用
前端·css·scss
小马哥编程24 分钟前
这个variables.scss文件中$menuText:#bfcbd9;:export {menuText: $menuText; }的语法符合要求吗
前端·css·scss
宋辰月25 分钟前
zustand
前端·javascript·html
z***I39427 分钟前
JavaScript原型链
开发语言·前端·javascript
x***587029 分钟前
JavaScript语音识别开发
开发语言·javascript·语音识别
JinSo39 分钟前
Ultracite:为 AI 时代打造的零配置代码规范工具
前端·javascript·github