【D1n910】第 20 章 有序車站 —— 職責鏈模式 《Javascript 設(shè)計模式》
正常操作,正常分析,大家好,我是D1n910。
今天我繼續(xù)來學習 《JavaScript 設(shè)計模式》的第四篇 行為型設(shè)計模式
這是一個連續(xù)的讀書筆記,所以如果你之前的內(nèi)容沒有看的話,可以去看看(建議直接看書,當然書的例子都比較早了,是2015年之前的代碼內(nèi)容,過了六年了,前端發(fā)展了很多,比如類的聲明可以直接用 Class 了)。
直接查看目錄就可以查看到所有的系列文章啦。

這里再次感謝 《Javascript 設(shè)計模式》及其作者 張榮銘,專欄內(nèi)容是在它的基礎(chǔ)上生成的。
現(xiàn)在會覺得很多設(shè)計模式離我們有點遙遠,是因為我們現(xiàn)在都在用大佬寫好的框架吧,很多設(shè)計模式都包含在框架里了。
后面有機會的話,我希望我可以查看目前主流框架的源代碼,然后進行講解。

第四篇 行為型設(shè)計模式
行為型設(shè)計模式用于不同對象之間職責劃分或算法抽象,行為型設(shè)計模式不僅僅涉及類和對象,還涉及類或?qū)ο笾g的交流模式并加以實現(xiàn)。
第 20?章 有序車站 —— 職責鏈模式 p130
職責鏈模式(Chain of Responsibility):解決請求的發(fā)送者與請求的接受者之間的耦合,通過職責鏈上的多個對象對分解請求流程,實現(xiàn)請求在多個對象之間的傳遞,知道最后一個對象完成請求的處理。
職責鏈模式的要點
(1)分解需求為模塊;
(2)按照分解出來的模塊進行書寫;
(3)進行單元測試。
這樣的好處是,就算是具體的需求原型沒有出來,我們也可以開發(fā)相關(guān)的基礎(chǔ)模塊。
場景:要求能夠?qū)Ρ韱翁峤坏男畔⑦M行驗證,如果有誤的話要彈出提示信息。
我們可以根據(jù)場景,我們的功能分解成以下三個模塊
(1);
(2)推送報錯模塊;
(3)彈框模塊;
驗證信息模塊專門用以驗證信息,其中用單例模式來存儲驗證算法。

推送報錯模塊只負責推送報錯,也可以在這里定制化內(nèi)容,比如如果是數(shù)組,則推送多條報錯。

提示框模塊只負責彈出提示內(nèi)容。

這樣以鏈路的方式實現(xiàn)了我們的功能。
本章 End
d1n910 于 2021年03月01日 寫于南山后海