iOS開發 使用viper架構構建複雜頁面

iOS開發經常使用的頁面架構:

  • MVC
  • MVVM
  • VIPER

viper模塊結構 及 交互方式

viper結構

  • 視圖:根據展現器的要求顯示界面,並將用戶輸入反饋給展現器。
  • 展現器:包含爲顯示(從交互器接受的內容)作的準備工做的相關視圖邏輯,並對用戶 輸入進行反饋(從交互器獲取新數據-->處理成View須要的數據---> 更新view)。
  • 交互器:包含由用例指定的業務邏輯(只有業務數據處理)。
  • 實體:包含交互器要使用的基本模型對象(瘦Model)。
  • 路由:包含用來描述屏幕顯示和顯示順序的導航邏輯。

Presenter 和 View

Presenter 與 View

  • 各個視圖將事件傳遞給Presenter處理。
  • Presenter處理生成View須要的數據,並傳給View 更新頁面。
  • 根據接口隔離原則 ,每一個View對應兩個接口。

Presenter 和 Interactor

Presenter 和 Interactor

  • Presenter就業務數據與UI的橋樑。

使用viper的好處

  • 業務代碼與ui代碼分離,易於進行單元測試。

單元測試舉例 (藉助OCMock)

  • Presenter測試, P與V。 測試內容爲業務數據到View的處理邏輯 html

  • Interactor測試, 側重與數據處理 git

其餘資料

相關文章
相關標籤/搜索