2016-05-25 24 views
0

私は過去にMVVMについて多くのことを読んだことがありますが、私は完全にそこに着いていません。 MVVM Lightフレームワークを見て、ViewおよびViewmodelをバインドするServiceLocaterのパターンを理解しました。しかし、私はモデルとビューモデル間の接続について何か助けにはならなかった。c#mvvm modelをviewmodelに渡す方法

これまでのところ、ViewModelには、プライベート "Model"インスタンスといくつかのパブリックプロパティがViewによって読み込まれるはずです。モデルはINotifyPropertyChangedイベントを実装して、ViewModelに通知します.ViewModelは、データで何かを行い、および/または公開プロパティを変更してビューに通知できます。

私はこれまでのところそれを得たと思う。しかし:モデルはどこに作られていますか? ViewModelはどのようにモデルを取得しますか? ViewModelはそれを作成しますか? 私のアプリケーションは、Bluetoothを介してデータを連続的に取得し、バックグラウンドで処理します。異なるプロセス段階で、異なるモデルを変更します。私の最初のアプローチは、すべてのモデルを保持するSingletonでした。 Viewmodelはシングルトンからモデルを取得し、バックグラウンドプロセスもモデルにアクセスできます。しかし、私は "パターン"は本当に悪いと思うが、私はこの "良い"を行うための解決策を見つけることができません。私はモデルをviewmodelとバックグラウンドプロセス(businessLogic)間で適切に共有する方法を知らない。

私は、私の知る限りでは任意のヘルプ:)

+0

他のサイトを参照するときは、 – jleach

+0

@ jdl134679のProgrammers.StackExchange(アーキテクチャ上の質問を処理するサイトではS/Oが便利です)の方が適しているかもしれませんが、[cross-posting is frowed on](http://meta.stackexchange.com/tags/cross-posting/info) – gnat

答えて

0

について嬉しいですし、私たちのWPFのプロジェクトに行うために使用 - のViewModelの古典MVVM委譲モデルの作成。 ViewModelはモデルを認識する必要があります。 ViewModelは、ServiceLocatorまたはDependencyInjectionパターンに依存して、Modelクラス(つまり、インタフェース)を見つけて作成することがあります。

+0

ありがとう、私はビューモデルにモデルを与える依存性注入フレームワークとして統一を使用すると思います –

関連する問題