溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

web職責(zé)鏈模式由哪些部分組成

發(fā)布時(shí)間:2022-01-13 16:24:59 來源:億速云 閱讀:110 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“web職責(zé)鏈模式由哪些部分組成”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“web職責(zé)鏈模式由哪些部分組成”文章能幫助大家解決問題。

適用性

職責(zé)鏈模式適用于以下情況:

?有多個(gè)對(duì)象可以處理一個(gè)請(qǐng)求,哪個(gè)對(duì)象處理該請(qǐng)求由對(duì)象自己決定。

?某個(gè)對(duì)象在處理請(qǐng)求的同時(shí),也可以決定是否向后續(xù)的對(duì)象傳遞該請(qǐng)求。

結(jié)構(gòu)

web職責(zé)鏈模式由哪些部分組成

參與者


? Handler
— 定義一個(gè)處理請(qǐng)求的接口。
— 管理后繼節(jié)點(diǎn)(多個(gè)節(jié)點(diǎn)級(jí)聯(lián)之后形成后繼鏈條)
? ConcreteHandler
— 可以選擇是否處理收到的請(qǐng)求。
— 可以選擇是否將請(qǐng)求傳遞給后繼者。
— 一般來講處理和向后續(xù)傳遞是互斥的,但這并不是職責(zé)鏈本身的要求。

? Client

—請(qǐng)求的提出者。

一種可能的對(duì)象結(jié)構(gòu)如下圖:

需要注意的是:實(shí)際的應(yīng)用中,只要請(qǐng)求的傳播途徑形成鏈?zhǔn)浇Y(jié)構(gòu)即可。數(shù)據(jù)結(jié)構(gòu)本身不一定如此。

協(xié)作

客戶提出的請(qǐng)求沿著鏈狀途徑傳播,鏈上的節(jié)點(diǎn)決定是處理還是向后傳播該請(qǐng)求。

效果

請(qǐng)求的提出者不用關(guān)心哪個(gè)對(duì)象會(huì)處理請(qǐng)求,甚至不需要知道是否有對(duì)象會(huì)處理該請(qǐng)求。

是否處理某個(gè)請(qǐng)求由傳播鏈上的節(jié)點(diǎn)決定。因此可以通過改變傳播途徑上節(jié)點(diǎn)的處理內(nèi)容或者直接替換節(jié)點(diǎn)來改變請(qǐng)求的處理過程。而且無論哪種方式都可以在程序運(yùn)行時(shí)完成。

雖然職責(zé)鏈模式可以極大地提高請(qǐng)求處理的靈活性,但是這種靈活性的反面是就是不確定性??蛻粼诎l(fā)出請(qǐng)求的時(shí)候甚至不知道是否有對(duì)象會(huì)處理該請(qǐng)求。如果某些請(qǐng)求必須要處理,就需要在生成數(shù)據(jù)結(jié)構(gòu)時(shí)保證這一點(diǎn)。當(dāng)然了,實(shí)際上是否有對(duì)象處理該請(qǐng)求是可以通過返回值來確認(rèn)的。

關(guān)于“web職責(zé)鏈模式由哪些部分組成”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

web
AI