2012-01-29 5 views
0

これは一般的な質問ですが、私はいくつかのフィードバックを歓迎します。私はMVVCのパラダイムで作業するのが初めてで、私はそれがSPAの完璧なフィットであることを発見しています。これは、さまざまな形式のデータをレンダリングするという点で90%です(ユーザーがデータを操作することはほとんどありません)。MVVCパターンのモデルのガイドライン(特にknockout.jsを使用)

しかし、私はモデルとモデルビューの間でデータの書式設定や「クレンジング」をどこに置くべきかについて少し混乱します。私の一般的な感想は、私のモデルビューは、ビューを更新することに関係するノックアウトまたはjquery固有のコードだけを持つべきであるということです。しかし、書式設定の中には、モデルに入るために特定のビュー固有のものもあります。たとえば、文字列を変更してモデルを「ユーザーフレンドリ」にしたいのであれば、それをモデルまたはビューモデルに入れますか?私はそれがあまりにも多くのユーザー中心の/ページ中心の知識のモデルのようだが、ビューモデルのドメイン知識があまりにも多いようだ。

厳しい規則はありませんが、このような状況では最良のガイドラインが何であるか不思議です。

答えて

5

ビューモデルは、モデルのビューと考えることができます。言い換えれば、それはそれが背後にあるという見方に非常に特有です。同じビュー・モデルに複数のビューをバインドすることは可能ですが、ビュー・モデルとそれぞれのビューとの間に1対1の相関関係を持たせることはずっと一般的です。

あなたの質問に答えるために、ビュー・モデル内で高度に特殊化されたビュー中心の動作を行うことは間違いありません。これにはフォーマットロジックが含まれます。たとえば、モデルでは価格を数値「23.34」として公開する場合があります。ビューにこれが通貨として表示されている場合、ビューモデルはこのプロパティを表示用にフォーマットするためにこのプロパティを適合させます(「23.34ポンド」)。

最後に、MVVCではなくModel-View-ViewModel(MVVM)です。

関連する問題