职责链模式

232 阅读1分钟

职责链模式

职责链模式是一种行为型设计模式。

行为型模式主要用于描述类或对象之间的交互以及职责分配

职责链,就是逐层职责分明,逐步逐步处理,直到任务完成

graph LR
发起请求 --> 处理器1 --> ... --> 处理器n  --> 完成

应用场景

例如这样一个需求

把一段文字里的数字,字母驱动去掉

先定义两个过滤器

function handleA(str){
    return str.replace(/\d/g,'')
}

function handleA(str){
    return str.replace(/[a-zA-Z]/g,'')
}
function handle(str){
    str = handleA(str)
    return handleB(str)
}

执行处理

let str = "1a中b2国c3人4d";
handle(str) // 中国人