MVVM を使用して、Windows 8 アプリと Windows phone アプリをプログラミングしています。私はMVVM Lightにさらされようとしていますが、それらの違いは何だろうと思っていましたか? MVVM light は、WPF および WinRT/WP8 開発に付属する MVVM のサンドボックス バージョンであると思います。
簡単な答えはありますか?MVVM ではなく MVVM Light を選ぶ理由は何ですか?
MVVM を使用して、Windows 8 アプリと Windows phone アプリをプログラミングしています。私はMVVM Lightにさらされようとしていますが、それらの違いは何だろうと思っていましたか? MVVM light は、WPF および WinRT/WP8 開発に付属する MVVM のサンドボックス バージョンであると思います。
簡単な答えはありますか?MVVM ではなく MVVM Light を選ぶ理由は何ですか?
「MVVMfull」などはありません。
MVVMは、UIとデータおよびビジネスロジックを構造化する方法のパターンです。
MVVM lightは、パターンの実装をサポートする軽量のフレームワークです。
ところで:あなたがあなたの質問で使用したタグにカーソルを合わせると、これにも答えます;-)
MVVM Lightは、MVVMパターンに従ってアプリケーションを作成するときに役立つ一連のコンポーネントを提供するツールキット(フレームワークではありません;)として意図されています。たとえば、MVVM Lightには、反復的なコードをカプセル化するライブラリクラス、タイピングを高速化および促進するスニペット、新しいアプリケーションの作成を高速化し、基本的な「配線」で時間を無駄にしないようにするプロジェクトおよびアイテムテンプレートがいくつかあります。アプリなど
私が両方を(明確に)使用している1つの方法-MVVMは、パターンに従ってコードを設計するために単に使用したデザインパターンです-したがって、本質的にMainWindow.xamlはビューフォルダーにあり、MainWindow_ViewModel.csはVMフォルダーにあります。 ModelフォルダーにあるModel.csがあります。ビューのDataContextは、配線用のViewModelクラスで設定されます。もちろん、MVVMは単なるファイル編成ではなく、コードがパターンに従って記述されていることを確認します(ロジックの分離とパターンに従って実装する必要のあるすべての優れた機能)。これを行うには、上記を行うためにMVVMLightライブラリを参照する必要はありません。
特に、Messenger.Default.Send(値をブロードキャストするため)Messenger.Default.Register(別のVMで値を取得するため)を使用して複数のViewModel間で通信する場合は、MVVMLightを使用します。
必要に応じてサンプルコードを共有できます。お役に立てば幸いです。
MVVMはModelViewViewModelの略です。
MVVM Lightは、「LaurentBugnion」から構成されたものです-GalaSoft
http://mvvmlight.codeplex.com/
MVVMは、エンタープライズアプリケーション開発パターンであり、ベストプラクティスです。次のページで深く掘り下げることができます。
http://msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx
あなたが専用のビジネス全体をやりたい場合。silverlight TextBoxなどのユーザーインターフェイス要素から独立して、MVVMパターンを適用する必要があります。このようにして、ビジネスパーツを他のクライアントプラットフォームに再利用します。WindowsPhoneなど..
MVCを知っている場合は、コントローラーをViewModelにリサンプリングできますが、このViewModelにはビュー内のオブジェクトの参照が含まれていません。また、VMがビューを抽象化する場合があります。
.NET用のMVVMパターンアプライヤーはこれらの技術を知っている必要があると思います。Commanding、ソート操作をフィルタリングするためのCollectionViewSource、DataContext、Binding、INotifyPropertyChanged