應用架構簡介
Extjs 同時提供對於MVC和MVVM應用架構的支持。這兩個架構方式共享某些概念,而且都旨在沿着邏輯層面划分應用程序代碼。每種方法在選擇如何划分應用組件上都有其各自的優勢。
本指南的目標是為您提供構成這些架構的組件的基礎知識。
什么是 MVC?
在 MVC 架構中, 大部分 類 不是 模型(Models)、視圖(Views) 就是 控制器(Controllers). 用戶和視圖(Views)交互, 視圖(Views)展示模型(Models)中的數據. 這些交互是由一個控制器(Controllers)監控, 然后按需更新模型(Models)和視圖(Views)來響應交互.
視圖(View)和模型(Model) 一般不做交互,因為控制器(Controllers) 是唯一有責任管理更新的. 一般來說, 在一個 MVC 應用程序中,控制器(Controllers) 包含着應用程序的大部分邏輯. 理想狀態下視圖(Views)基本沒有業務邏輯. 模型(Models) 主要是一個數據接口,只包含與上述數據有關的業務邏輯.
MVC 的目標是讓個各類分工明確. 在大的環境中,只有每個類都有自己的職責了, 它們才會低耦合. 這可以方便應用程序的測試和維護, 而且代碼也可以復用.
什么是 MVVM?
MVC 和 MVVM 的關鍵區別是,MVVM 重點突出一個名為 視圖控制器(ViewModel) 的抽象概念. 視圖控制器(ViewModel) 通過“數據綁定(data binding)” 技術來協調模型(Model)的數據 和 視圖(View)的數據展現之間的變化.
結果是,模型(Model)和框架完成盡可能多的工作, 最大限度地減少或消除能夠直接操縱視圖的應用程序邏輯.
未完待續。。。
