javascript - 前端開發中業務模型和視圖模型具體分別指什麼?
三叔
三叔 2017-07-05 10:51:17
0
2
1254

在徐飛的這篇文章中,第五節:「為什麼MVVM是個很好的選擇」中,有提到商業模型和視圖模型,他們具體指什麼?

三叔
三叔

全部回覆(2)
过去多啦不再A梦

【商業模型】和【領域模型】較為相似,可指用於表達業務內容的資料。例如淘寶的商業模式是【商品】,部落格的商業模式是【博文】,推特的商業模式是【推文】。可以理解為經典 MVC 中的 Model,包含了名稱、描述、時間、作者、價格等【真正意義​​上的】資料欄位內容。

而【視野模型】則是 MVVM 興盛後的新概念。要實作一個完整的 Web App,除了資料外,還有 UI 互動中非常多的【狀態】。例如:彈框是否開啟、使用者是否正在輸入、請求Loading 狀態是否需要顯示、圖表資料分類是否需要顯示追加欄位、和使用者輸入時文字的大小和樣式的動態改變…這些和特定資料欄位無關,但對前端實際業務場景非常重要的視圖狀態,可以認為是一種【視圖模型】。在 Vue 一類的 MVVM 函式庫中,上述例子中的狀態都能夠用 JS 變數來表示和控制,這同樣可以認為是一種資料模型。

因此,商業模型和視圖模型在前端都是十分重要的概念。在 MVVM 解決了商業模型資料到頁面之間的綁定關係後,Redux 等狀態管理庫想要解決的則是富交互頁面中,視圖模型狀態極度膨脹所帶來的一系列問題了。對這些模型有更深的理解,實際上也有助於理解前端目前的發展方向。

迷茫

舉個栗子就懂

//业务模型
function UserBM(){
    this.username;
    this.password;
    this.address;
}

//视图模型


function UserVM(){
    this.username;
    this.password;
    this.address;
    this.isShowHelloMessage;
    this.isShowAddress;
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板