码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript设计模式样例十 —— 组合模式

时间:2020-03-05 13:52:32      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:定义   组合模式   comm   and   write   sleep   return   文件系统   系统   

组合模式(Composite Pattern)

定义:又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。
目的:将对象组合成树形结构以表示"部分-整体"的层次结构。
场景:您想表示对象的部分-整体层次结构(树形结构),如:文件系统。
// 指令
let directive = {
    eat: {
        excute: () => {
            console.log(‘eat‘)
        }
    },
    sleep: {
        excute: () => {
            console.log(‘sleep‘)
        }
    },
    code: {
        excute: () => {
            console.log(‘Get out there and write code!‘)
        }
    }
}

const callDirective = () => {
    let result = {
        directiveList: [],
        add: (directive) => {
            result.directiveList.push(directive)
        },
        excute: () => {
            for (let ele of result.directiveList.values()) {
                ele.excute()
            }
        }
    }
    return result
}

let command = callDirective()
command.add(directive.eat)
command.add(directive.sleep)
command.add(directive.code)
command.excute()

Git地址:https://github.com/skillnull/Design-Mode-Example

JavaScript设计模式样例十 —— 组合模式

标签:定义   组合模式   comm   and   write   sleep   return   文件系统   系统   

原文地址:https://www.cnblogs.com/Man-Dream-Necessary/p/12419391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!