玩轉iOS開發 《iOS設計模式 觀察者模式》

2021-09-11 09:26:08 字數 1675 閱讀 1499

文章轉至:

這幾天在搗鼓新專案, 在用通知中心的時候突然想到自己用了那麼久的通知中心, 為啥不自己動手實現乙個呢? 說幹就幹, 於是乎就研究通知中心的原理, 當然包括**kvo, 這些都是基於觀察者模式**實現的, 既然知道了原理, 我們就do it!!!

最後:工廠模式, 如果覺得好的話, 希望大家也可以打賞一下~嘻嘻~祝大家學習愉快~謝謝~

說起觀察模式, 其實可以舉醬紫的乙個例子, 就拿實驗物件來說明, 研究者是**觀察者, 小白鼠是被觀察者, 當研究者往小白鼠身上做某些實驗的時候, 小白鼠會產生某些反應, 而研究者就會記錄以及反饋觀察對應的現象, 這種情況就叫做觀察者模式**.

說那麼多廢話, 直接上**演示吧~~

依舊開啟我們之前的那個**workspace工程, 然後新建乙個observerpattern**工程.

這裡普及乙個思想, 就是**針對介面程式設計, 說起針對介面程式設計, 估計會有一些道友會有迷惑, 啥是針對介面程式設計? 其實在我們日常開發當中, 我們就已經做到了針對介面程式設計, 只是我們本身沒有意識到, 其實所謂的針對介面程式設計, 就是我們在寫模組或者是在寫sdk的時候, 我們會先設計對外公開的api, 然後再內部實現對應的邏輯, 這就是針對介面程式設計**.

這裡有一篇我覺得不錯的文章針對介面程式設計, 如果覺得不好, 可以去吐槽博主, 這我是不會反對的~

現在我們先去宣告一些我們需要用到的api先.

記得要把物件換一下, 換成了遵守了改協議的物件才能去接收訊息

現在我們對應的介面和限制使用者的協議都已經寫好了, 接下來我們就要去實現**publicnumbercenter**裡的方法, 這樣子我們就可以完完整整的實現乙個觀察者模式了.

由於通知中心是屬於單例, 首先我們肯定是要來實現一下單例模式

實現完通知中心之後, 我們就要來實現內部的方法, 這樣子我們要的通知中心就完成了

寫了那麼久, 現在我們來嘗試呼叫一下通知中心, 這裡我們就簡單實現一下, 就讓**viewcontroller成為使用者, 遵守publicnumberprotocol**就好了.

ios 開發(二)設計模式

下面就用乙個小畫板的例子介紹乙個設計模式在裡面的作用。www.objective c design patterns.com 程式的gui 小畫板需要有畫圖的view還有設計畫筆的view和縮圖顯示的view,因為cocoa十分看重mvc模式,所有的顯示都要基於這樣的模式,也就是每乙個view都必須...

iOS開發 MVC設計模式

聽說現在開始流行mvvm設計模式,聽上去好像有點新奇,暫時還是習慣mvc設計模式,接下來主講mvc模式.說到ios中的mvc還是從2011秋季斯坦福課程的老頭的iphone公開課講起,這個教授講的概念很準確 並且最為淺顯易懂的.model view controller mvc設計模式認為有三種型別...

玩轉iOS開發 NSURLSession講解 三

文章分享至我的個人技術部落格 雖然前面兩講都是說了nsurlsession的一些理論上的知識,但我們現在起碼對nsurlsession有個大概的了解,並不會像一開始的那樣,一臉懵逼的看著,這個請求是什麼鬼,那個方法是什麼鬼,task是什麼東西,如果沒有去看的朋友們可以去看看前面兩講玩轉ios開發 n...