2016-12-08 7 views
0

、第一およびその後のビュー、ビューモデル、およびモデルを作成し、MVVMでは、ビュー、ビューモデル、モデルを作成するのは誰ですか?そして、それらを一緒に結ぶのは誰ですか? MVVMで

  1. 誰がビューを表示しますか?

  2. は誰がビューとモデルがどのモデルを表示するために接続することを決定しますか?

いつもいくつかのコード/ XML /設定/などがあるように感じます。 - モデル、ビューモデル、モデルのいずれのコンポーネントにも適合しない、いわば「接続組織」。

+0

MVVMフレームワークには、「接続するドット」という言葉があります。私はそれらのいくつかを調べるでしょう - あなた自身が定型文を作ることは時間がかかることがあります。 – Charleh

+0

1)は2つの質問です。最初のビューは、実行可能ファイルを実行することによって構築され、その後はコードによって制御されます。2)コード3)コード。座って、簡単なことをする小さなプロトタイプを書いて、そのピースがどのようにフィットするかを見てみましょう。 – Will

+0

@ウィル "あなたのコード"と言う。質問は、私のコードのどの部分です。ビュー、ビューモデル、またはモデルですか? –

答えて

1

MVVMコードからUIを分離するためのパターンです。これらの3つのタイプのクラス(view、viewmodel、model)のみでアプリケーション全体を構築するのではありません。ファクトリー、ブートストラップ、リポジトリーなどを持つことができます。

  1. 最初のビューはフレームワークによって異なります。 Caliburn.Micro最初のビューで 例えばDisplayViewFor<MainViewModel>
  2. でクラス Bootstrapperに作成され、通常はありますビルドで固有の名前(ビュー)を持つフォルダに を探している責任があるクラスViewsと はViewModelsとそれらを一致して抽出します。
  3. ビューとモデルは名前で接続されています。特定の 命名規則に従わなければなりません:Class1ViewClass1ViewModelに接続されています。 モデルは通常、コンストラクタ経由で渡されます。

私が知っているのは、ほとんどの場合、Caliburn.Microの知識に基づいていますが、他のフレームワークとはあまり変わっていないと考えられます。

+1

CMが良い例ですが、デフォルトでは非常に慣例的ですが、他のMVVMフレームワークがビュー/ビューモデルに一致するかどうかを明示的に示しても驚くことはありません。同じビューモデルを多くのビュー。私はそれがフレームワークに大きく依存すると言いたいと思います。それぞれが異なることをします。 – Charleh

+0

'Caliburn.Micro'では、ビューがviewModelとマッチする方法を変更することさえできます。そうです、そうです、それはフレームワークに大きく依存します。そのような幅広い質問に対して正確な回答をするのは難しいです。 – FCin

関連する問題