日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

模式的秘密-观察者模式(二)

發布時間:2024/9/21 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 模式的秘密-观察者模式(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

認識觀察者模式:

命名建議:

第一:目標接口的定義,建議在名稱后面加上Subject。

第二:觀察者接口的定義,建議在名稱后面跟上Observer。

第三:觀察者接口的更新方法,建議名稱為Update。

?

觸發通知的時機:完成了狀態維護后觸發。

?

?

實現的兩種方式:推模型和拉模型

推模型:

目標對象主動向觀察者推送目標的詳細信息,推送的信息通常是目標對象的全部或部分數據。

拉模型:

目標對象在通知觀察者的時候,只傳遞少量信息。如果觀察者需要更具體的信息,由觀察者主動到目標對象中獲取,

相當于是觀察者從目標對象中拉數據。

一般這種模型的實現中,會把目標對象自身通過update方法傳遞給觀察者(上一節例子就是該模式)

?

如果要把上一節的拉模型改成推模型,只需要把update方法以及相關方法的觀察者對象修改為weatherContent,

把所有的信息全部傳給觀察者調用,而不是觀察者自己通過傳入的目標對象獲取。

?

兩個模型比較:

推模型是假定目標對象知道觀察者需要的數據。

拉模型是目標對象不知道觀察者需要什么數據,因此把自身傳給觀察者,由觀察者來取值。

?

推模型會使得觀察者對象難以復用。

拉模型下:update方法的參數是目標對象本身,基本上可以適用各種情況的需要。

?

總結

以上是生活随笔為你收集整理的模式的秘密-观察者模式(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。