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())
相关推荐
掘金安东尼2 小时前
让 JavaScript 更容易「善后」的新能力
前端·javascript·面试
掘金安东尼2 小时前
用 HTMX 为 React Data Grid 加速实时更新
前端·javascript·面试
灵感__idea4 小时前
Hello 算法:众里寻她千“百度”
前端·javascript·算法
yinuo5 小时前
轻松接入大语言模型API -04
前端
袋鼠云数栈UED团队5 小时前
基于 Lexical 实现变量输入编辑器
前端·javascript·架构
cipher6 小时前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
UrbanJazzerati6 小时前
非常友好的Vue 3 生命周期详解
前端·面试
AAA阿giao6 小时前
从零构建一个现代登录页:深入解析 Tailwind CSS + Vite + Lucide React 的完整技术栈
前端·css·react.js
亦妤6 小时前
JS执行机制、作用域及作用域链
javascript
兆子龙7 小时前
像 React Hook 一样「自动触发」:用 Git Hook 拦住忘删的测试代码与其它翻车现场
前端·架构