欢迎光临散文网 会员登陆 & 注册

【D1n910】第 20 章 有序车站 —— 职责链模式 《Javascript 设计模式》

2021-03-01 14:32 作者:爱交作业的D1N910  | 我要投稿

正常操作,正常分析,大家好,我是D1n910。


今天我继续来学习 《JavaScript 设计模式》的第四篇 行为型设计模式


这是一个连续的读书笔记,所以如果你之前的内容没有看的话,可以去看看(建议直接看书,当然书的例子都比较早了,是2015年之前的代码内容,过了六年了,前端发展了很多,比如类的声明可以直接用 Class 了)。


直接查看目录就可以查看到所有的系列文章啦。




这里再次感谢 《Javascript 设计模式》及其作者 张荣铭,专栏内容是在它的基础上生成的。


现在会觉得很多设计模式离我们有点遥远,是因为我们现在都在用大佬写好的框架吧,很多设计模式都包含在框架里了。


后面有机会的话,我希望我可以查看目前主流框架的源代码,然后进行讲解。



第四篇 行为型设计模式

行为型设计模式用于不同对象之间职责划分或算法抽象,行为型设计模式不仅仅涉及类和对象,还涉及类或对象之间的交流模式并加以实现。


第 20 章 有序车站 —— 职责链模式 p130


职责链模式(Chain of Responsibility):解决请求的发送者与请求的接受者之间的耦合,通过职责链上的多个对象对分解请求流程,实现请求在多个对象之间的传递,知道最后一个对象完成请求的处理。


职责链模式的要点

(1)分解需求为模块;

(2)按照分解出来的模块进行书写;

(3)进行单元测试。


这样的好处是,就算是具体的需求原型没有出来,我们也可以开发相关的基础模块。


场景:要求能够对表单提交的信息进行验证,如果有误的话要弹出提示信息。


我们可以根据场景,我们的功能分解成以下三个模块

(1);

(2)推送报错模块;

(3)弹框模块;


验证信息模块专门用以验证信息,其中用单例模式来存储验证算法。


推送报错模块只负责推送报错,也可以在这里定制化内容,比如如果是数组,则推送多条报错。


提示框模块只负责弹出提示内容。


这样以链路的方式实现了我们的功能。



本章 End

d1n910 于 2021年03月01日 写于南山后海

【D1n910】第 20 章 有序车站 —— 职责链模式 《Javascript 设计模式》的评论 (共 条)

分享到微博请遵守国家法律