2
我建立使用JavaScript(WinJS)和HTML一個簡單的Windows 8 LOB應用程序。在應用程序中,我不想有任何第三方依賴項。在決定應用程序結構時,我正在爭論哪種模式最適合該技術和WinJS框架。WinJS:做MVVM,MVP或MVC適合用它更好?
我使用這些模式的主要優勢/劣勢的初步想法是如下。
MVVM
- 臨:在視圖模型業務邏輯的完全分離,使得(單元)的BL容易
- 精讀的測試:WinJS只有一個時間和單向數據綁定是開箱即用的,雙向數據綁定和命令(綁定事件)不是。這些必須以自定義的方式實現(如果想在視圖上堅持主要的聲明式語法,可能會變得棘手)。
MVP
- 臨:演示仍與視圖邏輯包含所有業務邏輯在一起,並可以是由本身測試(單元)。這種方法不需要數據綁定。
- 缺點:無論是查看和演示代碼會比MVVM的情況下,更詳細的,因爲他們現在必須通知對方的狀態變化。視圖需要將事件轉發到演示者,並且演示者必須在其狀態更改時更新視圖。
MVC
- 臨:視圖是非常輕便,不需要數據綁定這種方法無論是。控制器必須註冊和處理輸入事件(例如鍵盤和鼠標事件)以及包含業務邏輯。 Compated到視圖模型中MVVM和演示在MVP這個類將是最臃腫和稍微更難以(單元)測試。
在此基礎上,我會選擇MVP建立這個程序。你是否同意這一點或相矛盾?
民意調查或可能引發爭議的問題被認爲是主題。 – mydogisbox
沒有「最佳」方法。這完全取決於你的用例。 –