iOS 責任鏈模式

一.什么是責任鏈模式?

責任鏈模式就是為一個請求或者一個動作創建一個接收者對象的鏈,這條鏈上的每一個對象都可以去響應和處理這個請求和動作,把發送者和接收者進行解耦,在這種模式中,通常每個接收者都包含對另一個接收者的引用。如果一個對象不能處理該請求,那么它會把相同的請求傳給下一個接收者,依此類推。

責任鏈模式.png

二.為什么要使用責任鏈模式?

責任鏈模式可以把發送者和接收者進行解耦合,發送方只需把消息發送出去即可,接收者負責對消息進行處理,在工作中,有時候我們可能會遇到這樣的情況, 你出差了或者你加班了, 需要向領導發送郵件,而領導則需要向他的領導發送郵件,這樣一級一級的向上匯報,直到可以給你報銷費用的的領導審批之后,你才能拿到辛苦費,如果你之前和哪位領導干過架,完了,人家不給你上報,那你就慘了

三.怎么使用責任鏈模式?

事件響應.png

上面兩個方法應該很熟悉吧,對,這就是iOS 中UIView對事件處理的響應函數,這個我們就可以看做是責任鏈模式的例子

下面用一個兒子買玩具舉個例子:

1.創建一個基類

基類.png
基類.png

2.兒子

兒子.png
兒子.png

3.爸爸

爸爸.png
爸爸.png

4.媽媽

媽媽.png
媽媽.png

5.具體實現

具體實現.png
具體實現.png
打印.png

菜鳥教程:http://www.runoob.com/design-pattern/chain-of-responsibility-pattern.html
腳本之家:http://www.jb51.net/article/81756.htm

其他設計模式

享元模式:http://www.lxweimin.com/p/f9c53b9825e4
工廠模式:http://www.lxweimin.com/p/6f3ffb1397f7
觀察者模式:http://www.lxweimin.com/p/a6a6e5a8e8bd

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容