2011-06-11 28 views
1

在大型GWT上工作,讓我愛上了GWT自帶的MVP模式。基本上它是一個passive view,其中一個控制器知道所有的業務邏輯,並且該視圖儘可能傾倒。這很酷的事情是,你可以很容易地改變你的視圖,並且可以快速運行你的單元測試,因爲不涉及DOM。Javascript MVP(被動視圖)庫

我已經閱讀了有關backbone.js的文章,但似乎整個邏輯都在視圖中,並且沒有視圖和業務邏輯的真正解耦。但也許我錯了。

所以我想知道是否有一個與GWT具有相同方法的JavaScript庫。

+0

[MVP模式與Javascript框架?]可能的重複?(http://stackoverflow.com/questions/1102215/mvp-pattern-with-javascript-framework) – 2011-06-11 13:46:00

+1

你試過[spine](http:// maccman .github.com /脊椎/)? – Raynos 2011-06-11 14:21:24

+0

@peter不是真的,有一堆實現mvc/mvp模式的框架。但是這個框架如何定義模式的範圍很廣。只需谷歌的MVC,你會發現一堆定義。我的問題是關於被動視圖模式,就像GWT中的那種。 – 2011-06-11 17:18:46

回答

1

通過backbone.js,Views可以註冊DOM事件並按照您的喜好進行更多或更少的操作。

如果您的操作很少,可以將DOM事件重構爲backbone.js事件,其中創建該視圖的控制器可能註冊了該事件。控制器將代表視圖提供業務邏輯。

控制器業務邏輯通常最終是對視圖負責的模型或模型集合的更改。如果視圖已將自己綁定到模型或集合的「更改」事件,則它可以無縫刷新自身。

遵循此模式留下的視圖僅負責渲染和冒泡相關的DOM事件。不導致業務邏輯的較小DOM事件可以並且應該僅在視圖內處理。

+0

一個非常清楚和確切的答案。 +1,因爲簡潔和直接的答覆。 – lorefnon 2011-06-18 08:33:09