[IOS學習] IOS中的MVC設計模式

什麼是MVC設計模式

    MVC是Model(M)-View(V)-Controller(C)的縮寫,是一種常見的設計模式,在Java web中有使用,在IOS開發中是一種基本的設計模式。使用MVC設計模式來構建一個App的項目,會使得項目結構更加清晰,能夠加快開發速度。

   MVC設計模式由三部分組成:

  1. Model:  Mode中存有數據。凡是存有數據的東西,都可以稱爲Model,例如model object,networking。
  2. View: 是App的界面。View只用來展示數據,不包含任何邏輯代碼,因此通常可以複用。例如UILabel。
  3. Controller:  用來控制View和Model,通過代理模式實現。在理想情況下,控制器實體是不知道處理的view是那個,它是通過protocol進行數據交互。

MVC的具體組成部分

Model

mode層包含了app中的數據。這一層不僅包含了model類,而且包含了能夠項目中的其他類和實例。

  1. 網絡代碼
  2. 持久化代碼
  3. 解析代碼
  4. 管理層和抽象層
  5. 數據源和代理
  6. 常量
  7. 幫助程序和擴展

View

當用戶和App進行交互,就是跟view層進行交互,view層不應該包含任何業務邏輯。View層包括如下:

  1. UIView的子類
  2. UIKit/AppKit中的組件
  3. 核心動畫
  4. 核心圖形

Controller

Controller層是被複用最少的。Controller層的職責包括如下:

  1. 決定訪問的目標:持久化或網絡
  2. 該多久刷新一次應用程序
  3. 下一個屏幕是那個
  4. 如果程序進入後臺程序,該怎麼樣處理
  5. 用戶點擊一個單元格,該做什麼處理

可以將controller層看作一個app的大腦,它來決定接下來發生什麼。

MVC的優勢與劣勢

優勢

  • 將邏輯代碼、試圖、數據分離,分別組織到不同層內,項目結構清晰
  • 在改進頁面和用戶交互的同時不需要重新邊寫業務邏輯
  • 可維護性高

劣勢

  • 破壞了一些好的軟件設計規範
  • View Controller中有大量的代碼
  • 較差的可測性,View Controller中混合了視圖邏輯代碼和業務邏輯代碼

MVC的使用場景

APP在開發初期可以使用MVC設計模式,在開發過程中可能需要向其他設計模式轉換。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章