MVC(Model - View - Controller)
MVC 是開發客戶端最經典的設計模式
用戶操作 --> View(負責接收用戶的輸入操作)–> Controller(業務邏輯處理)–> Model(數據持久化)–> View(將結果反饋給 View)
在開發中,除了簡單的 Model、View 以外的所有部分都被放在了 Controller 中。Controller 負責顯示界面、響應用戶的操作、網絡請求以及與 Model 的交互,這就導致了 Controller:
- 邏輯複雜,難以維護
- 和 View 緊耦合,無法測試
MVVM(Model - View - ViewModel)
MVVM 以“數據雙向綁定”爲核心思想。
View 和 Model 之間沒有聯繫,通 ViewModel 進行交互,而且 Model 和 ViewModel 之間的交互是雙向的,因此視圖的數據改變會同時修改數據源,而數據源的數據變化也會立即反映到 View 上。