2011-12-19 30 views
2

我感到困惑使視圖和控制器層之間對象時,當我應該使用強類型視圖型號VS JSON對象。我的理解是,使用JSON對象遵循MVVM模式,並保持圖層鬆散耦合。對於任何反饋,我們都表示感謝。何時使用強類型視圖模型或使用JSON對象

+0

JSon更多的Ajax或需要在客戶端操縱的東西。動態內容,你不知道你的回報。當你確切知道你的控制器正在返回什麼時,強烈地輸入視圖。 – 2011-12-19 17:01:06

回答

1

這兩種方法都有優點和缺點。

,一方面,寬鬆類型意味着你可以通過同類型所有的地方和消費者只需消耗他們想要的領域,如果存在的話。這使得你的程序看起來很簡單,因爲它有這麼簡單的架構。

在另一方面,這意味着你推域的解釋給消費者,如果你有複雜的數據類型,這可以迅速成爲消費者處理的噩夢。

別搞錯了:你會處理的類型安全地方。你的選擇是在哪裏。

我個人更喜歡用定義良好的接口強類型的系統,所以這是我的建議。

編輯

Randolpho,是我同意的偏好強類型 對象。在我的大部分應用程序的工作,我得到了一通強類型 對象返回到我的控制器,在那裏我將映射到一個強類型 「視圖模型」對象,然後通過該視圖模型回部分 /圖。這個當前項目我正在進行一個REST調用,並返回一個JSON 對象。這是什麼讓我質疑我應該使用 JSON或類型的對象。 - derek kenney

如果你正在製作一個REST webservice,那麼你應該從你的View中返回JSON,盡一切辦法。

但在內部,我認爲你最好使用序列化,並從JSON強類型數據類型。

+0

Randolpho,是的,我同意強類型對象的偏好。在大多數我的應用程序的工作,我得到了一通一個強類型的對象回我的控制器,在那裏我將映射到一個強類型的「視圖模型」對象,然後傳遞視圖模型回分/視圖。這個當前項目我正在做一個REST調用並返回一個JSON對象。這是什麼讓我質疑我應該使用JSON還是輸入對象。 – 2011-12-19 17:16:27

+0

@derekkenney我通過編輯回覆。 – Randolpho 2011-12-19 20:25:07

0

視圖模型通常與直接返回HTML的控制器操作一起使用。 JSON更適合從AJAX調用中使用。這就是說,你也可以使用JSON與客戶端UI框架,如knockoutjsbackbonejs

+0

謝謝Darin。這是有道理的。在我當前的項目中,我通過Javascript Ajax調用進行操作調用,並通過JS返回我綁定到我的HTML的JSON對象。我只是不確定這是怎麼回事,直接返回HTML。 – 2011-12-19 17:13:52