iOS 觀察者模式~優(yōu)缺點、使用場景

//聯(lián)系人:石虎QQ:1224614774昵稱:嗡嘛呢叭咪哄

一、觀察者模式優(yōu)點:

1.觀察者模式在被觀察者和觀察者之間建立一個抽象的耦合。被觀察者角色所知道的只是一個具體觀察者列表,每一個具體觀察者都符合一個抽象觀察者的接口。被觀察者并不認識任何一個具體觀察者,它只知道它們都有一個共同的接口。

由于被觀察者和觀察者沒有緊密地耦合在一起,因此它們可以屬于不同的抽象化層次。 如果被觀察者和觀察者都被扔到一起,那么這個對象必然跨越抽象化和具體化層次。

2.觀察者模式支持廣播通訊。被觀察者會向所有的登記過的觀察者發(fā)出通知,

二、觀察者模式缺點:

1.如果一個被觀察者對象有很多的直接和間接的觀察者的話,將所有的觀察者都通知到會花費很多時間。

2.如果在被觀察者之間有循環(huán)依賴的話,被觀察者會觸發(fā)它們之間進行循環(huán)調(diào)用,導致系統(tǒng)崩潰。在使用觀察者模式是要特別注意這一點。

3.如果對觀察者的通知是通過另外的線程進行異步投遞的話,系統(tǒng)必須保證投遞是以自恰的方式進行的。

4.雖然觀察者模式可以隨時使觀察者知道所觀察的對象發(fā)生了變化,但是觀察者模式?jīng)]有相應的機制使觀察者知道所觀察的對象是怎么發(fā)生變化的。

三、觀察者模式的應用場景:

1、對一個對象狀態(tài)的更新,需要其他對象同步更新,而且其他對象的數(shù)量動態(tài)可變。

2、對象僅需要將自己的更新通知給其他對象而不需要知道其他對象的細節(jié)。

謝謝!!!

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1 場景問題# 1.1 訂閱報紙的過程## 來考慮實際生活中訂閱報紙的過程,這里簡單總結了一下,訂閱報紙的基本流程...
    七寸知架構閱讀 4,799評論 5 57
  • 設計模式匯總 一、基礎知識 1. 設計模式概述 定義:設計模式(Design Pattern)是一套被反復使用、多...
    MinoyJet閱讀 4,074評論 1 15
  • 設計模式基本原則 開放-封閉原則(OCP),是說軟件實體(類、模塊、函數(shù)等等)應該可以拓展,但是不可修改。開-閉原...
    西山薄涼閱讀 4,071評論 3 14
  • 觀察者模式中通常有兩個基本的概念主題:觀察者和被觀察者。當被觀察者狀態(tài)發(fā)生改變時,需要通知相應的觀察者,當然,每個...
    時待吾閱讀 1,154評論 0 2
  • 本文的結構如下: 什么是觀察者模式 為什么要用該模式 模式的結構 代碼示例 推模型和拉模型 優(yōu)點和缺點 適用環(huán)境 ...
    w1992wishes閱讀 1,521評論 0 16

友情鏈接更多精彩內(nèi)容