當前位置:
首頁 >
模式的秘密-观察者模式(二)
發布時間:2024/9/21
41
豆豆
生活随笔
收集整理的這篇文章主要介紹了
模式的秘密-观察者模式(二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
認識觀察者模式:
命名建議:
第一:目標接口的定義,建議在名稱后面加上Subject。
第二:觀察者接口的定義,建議在名稱后面跟上Observer。
第三:觀察者接口的更新方法,建議名稱為Update。
?
觸發通知的時機:完成了狀態維護后觸發。
?
?
實現的兩種方式:推模型和拉模型
推模型:
目標對象主動向觀察者推送目標的詳細信息,推送的信息通常是目標對象的全部或部分數據。
拉模型:
目標對象在通知觀察者的時候,只傳遞少量信息。如果觀察者需要更具體的信息,由觀察者主動到目標對象中獲取,
相當于是觀察者從目標對象中拉數據。
一般這種模型的實現中,會把目標對象自身通過update方法傳遞給觀察者(上一節例子就是該模式)。
?
如果要把上一節的拉模型改成推模型,只需要把update方法以及相關方法的觀察者對象修改為weatherContent,
把所有的信息全部傳給觀察者調用,而不是觀察者自己通過傳入的目標對象獲取。
?
兩個模型比較:
推模型是假定目標對象知道觀察者需要的數據。
拉模型是目標對象不知道觀察者需要什么數據,因此把自身傳給觀察者,由觀察者來取值。
?
推模型會使得觀察者對象難以復用。
拉模型下:update方法的參數是目標對象本身,基本上可以適用各種情況的需要。
?
總結
以上是生活随笔為你收集整理的模式的秘密-观察者模式(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单易用的库存管理软件、进销存软件
- 下一篇: 如何用web3.js在以太坊区块链上保存