javaScript设计模式:装饰模式

装饰模式的思想是可以在运行时动态的添加附加功能,即其预期行为可定制和可配置特点。并且在多个配置功能需要按照顺序进行时,都是装饰模式需要解决的问题。

按照这个思路首先我们需要一个描述执行任务的对象,这个对象上包含一系列的可定制和配置的功能,当这个任务执行时将运行中的需要附加的功能时添加到一个配置列表中,最后提供一个处理运行的接口。

复制代码
//描述任务的对象
let obj = {
    decorators_list:[]
};
//在这个任务对象上添加一系列预期的功能
obj.prototype.xxx = function(){
    //具体的装饰任务
    ...
}
...
//添加装饰任务的工具方法
obj.prototype.decorate = function(decorator){
    this.decorators_list.push(decorator);
}
//处理装饰任务的接口
obj.prototype.execute = function(){
    let i,
        max = this.decorators_list.length;
    for(i = 0; i < max; i++){
        this.decorators_list[i]();
    }
}
复制代码

 

posted @   他乡踏雪  阅读(87)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2018-12-24 html基础知识总结
点击右上角即可分享
微信分享提示