iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
Mobile Development

從零開始的Swift開發心路歷程2系列 第 17

【從零開始的Swift開發心路歷程2-Day17】MVC與MVVM(下)

  • 分享至 

  • xImage
  •  

昨天介紹完MVC後,今天就來介紹MVVM的架構及優缺點吧!

MVVM(Model-View-ViewModel)


(MVVM架構圖,取自wikipedia)

MVVM架構可以分成三個部分:

  • Model(模型):用於封裝應用程式的資料並處理資料的邏輯運算。
  • View(視圖):簡單來說就是UI,透過DataBinding的方式與ViewModel進行溝通。
  • ViewModel(視圖模型):將從Model接收的資訊透過DataBing的方式與View做溝通,也接收View上使用者的操作並回傳資訊給Model。

優點:

  • 事件都透過資料的變化來觸發,在ViewModel中可以減少通知View的程式碼。
  • 比起MVC更容易進行單元測試。

缺點:

  • 在大型專案內,Data Binding會導致相當大的記憶體消耗。
  • 出錯時因為不知道問題是出在View還是Model,所以相對不易除錯。

如此一來各位也對MVVM有個簡單的瞭解了,至於為什麼會介紹MVC和MVVM這兩個軟體架構呢?這邊先埋個伏筆,明天就知道了,請拭目以待!


上一篇
【從零開始的Swift開發心路歷程2-Day16】MVC與MVVM(上)
下一篇
【從零開始的Swift開發心路歷程2-Day18】Combine簡介
系列文
從零開始的Swift開發心路歷程230
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言