定義 ViewModel

Posted by Bruce Tsai

首先要說明,ViewModel 跟 MMVM 沒有太大關聯。在 MVC 架構下,model 主負責商業邏輯的處理,以及資料在 controller 與 view 之間的傳遞,也是 client 與 server 之間的資料傳遞。由於 model 中會定義許多的 data bean,用於各商業邏輯中流程的處理。但 controller 與 view 之間的資料傳遞時,通常無法使用單一的 data bean 來完成所需求的資訊傳遞,而使得在 controller 中需要處理許多 bean 的資料,讓 controller 的內容變的複雜。View Model 的主要目的就是將複雜的資料物件合併為單一物件,透過單一 bean 的設計來避免 controller 處理不必要的操作

ViewModel 的原則

  • 不論為 controller 傳入 view 的呈現或由前端頁面傳入的表單資料,皆統一由單一個 model(bean)來處理。
  • View Model 類別需包含所有 view 中所要呈現的資料。
  • View Model 類別需包含所有前端傳入的資料。
  • View Model 可被 facade 直接作為回傳型別。

未使用 ViewModel 的情況

使用 ViewModel 的情況

results matching ""

    No results matching ""