欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IOS開發(fā)中的設計模式匯總

 更新時間:2017年03月02日 15:32:03   作者:IT偉哥  
在ios的程序開發(fā)中,經常搞暈ios的開發(fā)模式,今天小編就給大家簡單的總結一下,需要的的朋友參考下

iOS開發(fā)學習中,經常弄不清楚ios的開發(fā)模式,今天我們就來進行簡單的總結和探討~

(一)代理模式

應用場景:當一個類的某些功能需要由別的類來實現(xiàn),但是又不確定具體會是哪個類實現(xiàn)。

優(yōu)勢:解耦合

敏捷原則:開放-封閉原則

實例:tableview的 數(shù)據源delegate,通過和protocol的配合,完成委托訴求。

列表row個數(shù)delegate

自定義的delegate

(二)觀察者模式

應用場景:一般為model層對,controller和view進行的通知方式,不關心誰去接收,只負責發(fā)布信息。

優(yōu)勢:解耦合

敏捷原則:接口隔離原則,開放-封閉原則

實例:Notification通知中心,注冊通知中心,任何位置可以發(fā)送消息,注冊觀察者的對象可以接收。

kvo,鍵值對改變通知的觀察者,平時基本沒用過。

(三)MVC模式

應用場景:是一中非常古老的設計模式,通過數(shù)據模型,控制器邏輯,視圖展示將應用程序進行邏輯劃分。

優(yōu)勢:使系統(tǒng),層次清晰,職責分明,易于維護

敏捷原則:對擴展開放-對修改封閉

實例:model-即數(shù)據模型,view-視圖展示,controller進行UI展現(xiàn)和數(shù)據交互的邏輯控制。

(四)單例模式

應用場景:確保程序運行期某個類,只有一份實例,用于進行資源共享控制。

優(yōu)勢:使用簡單,延時求值,易于跨模塊

敏捷原則:單一職責原則

實例:[UIApplication sharedApplication]。

注意事項:確保使用者只能通過 getInstance方法才能獲得,單例類的唯一實例。

java,C++中使其沒有公有構造函數(shù),私有化并覆蓋其構造函數(shù)。

object c中,重寫allocWithZone方法,保證即使用戶用 alloc方法直接創(chuàng)建單例類的實例,

返回的也只是此單例類的唯一靜態(tài)變量。

(五)策略模式

應用場景:定義算法族,封裝起來,使他們之間可以相互替換。

優(yōu)勢:使算法的變化獨立于使用算法的用戶

敏捷原則:接口隔離原則;多用組合,少用繼承;針對接口編程,而非實現(xiàn)。

實例:排序算法,NSArray的sortedArrayUsingSelector;經典的鴨子會叫,會飛案例。

注意事項:1,剝離類中易于變化的行為,通過組合的方式嵌入抽象基類

2,變化的行為抽象基類為,所有可變變化的父類

3,用戶類的最終實例,通過注入行為實例的方式,設定易變行為

防止了繼承行為方式,導致無關行為污染子類。完成了策略封裝和可替換性。

(六)工廠模式

應用場景:工廠方式創(chuàng)建類的實例,多與proxy模式配合,創(chuàng)建可替換代理類。

優(yōu)勢:易于替換,面向抽象編程,application只與抽象工廠和易變類的共性抽象類發(fā)生調用關系。

敏捷原則:DIP依賴倒置原則

實例:項目部署環(huán)境中依賴多個不同類型的數(shù)據庫時,需要使用工廠配合proxy完成易用性替換

注意事項:項目初期,軟件結構和需求都沒有穩(wěn)定下來時,不建議使用此模式,因為其劣勢也很明顯,

增 加了代碼的復雜度,增加了調用層次,增加了內存負擔。所以要注意防止模式的濫用。

以上所述是小編給大家介紹的IOS開發(fā)中的設計模式匯總,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • IOS開發(fā)中鍵盤輸入屏幕上移的解決方法

    IOS開發(fā)中鍵盤輸入屏幕上移的解決方法

    在IOS開法中經常會遇到鍵盤遮擋屏幕的事情,經常檔住下面的按鈕,下面小編給大家分享IOS開發(fā)中鍵盤輸入屏幕上移的解決方法,感興趣的朋友一起看看吧
    2016-10-10
  • iOS多級列表實現(xiàn)代碼

    iOS多級列表實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了iOS多級列表實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • iOS 仿百度外賣-首頁重力感應的實例

    iOS 仿百度外賣-首頁重力感應的實例

    這篇文章主要介紹了iOS 仿百度外賣-首頁重力感應的實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-01-01
  • IOS中對Url進行編碼和解碼示例

    IOS中對Url進行編碼和解碼示例

    本篇文章主要介紹了IOS中對Url進行編碼和解碼示例,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • 查看iOS已上架App的Crash信息定位、應對處理方式的實例

    查看iOS已上架App的Crash信息定位、應對處理方式的實例

    下面小編就為大家?guī)硪黄榭磇OS已上架App的Crash信息定位、應對處理方式的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • IOS圖片無限輪播器的實現(xiàn)原理

    IOS圖片無限輪播器的實現(xiàn)原理

    這篇文章主要介紹了IOS圖片無限輪播器的實現(xiàn)原理的相關資料,需要的朋友可以參考下
    2016-03-03
  • iOS開發(fā)中實現(xiàn)顯示gif圖片的方法

    iOS開發(fā)中實現(xiàn)顯示gif圖片的方法

    這篇文章主要介紹了iOS開發(fā)中實現(xiàn)顯示gif圖片的方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2015-09-09
  • iOS中的通知機制

    iOS中的通知機制

    網上經常說iOS的通知機制是使用了觀察者模式,里面有兩個角色,其一是poster(發(fā)送者),另一個是observer(接受信息的訂閱者)。接下來通過本文給大家介紹iOS中的通知機制,感興趣的朋友一起學習吧
    2016-04-04
  • 在Swift中使用JSONModel 實例代碼

    在Swift中使用JSONModel 實例代碼

    本文主要介紹在Swift中使用JSONModel,這里給大家提供代碼實例做參考,希望能幫助有需要的小伙伴
    2016-07-07
  • iOS實現(xiàn)選項卡效果的方法

    iOS實現(xiàn)選項卡效果的方法

    選項卡在我們日常開發(fā)的時候經常要用到,所以這篇文章給大家分享一種iOS實現(xiàn)的簡單選項卡效果,很適合大家學習和使用,有需要的可以參考借鑒,下面來一起看看吧。
    2016-09-09

最新評論