2

MVVM について調査したのは 1 か月足らずです。Mvvm フレームワークも試しました (Laurent Bugnion の Mvvmlight。素晴らしいです)。

しかし、私はこれらすべてを自分で行うことを考えています。つまり、mvvm の哲学に従ってプロジェクトをゼロから構築したいということです (利用可能な mvvm フレームワークは使用しないでください)。できるだけシンプルにしたいのですが、それでも十分な機能を持ち、厳密に mvvm の哲学に従います。だからこそ、私が何を必要とし、何に直面し、どれくらいの時間がかかるかを認識できるように、あなたのアドバイスが必要です。

ほとんどの Mvvm フレームワークでは、以下のものをサポートしていることがわかりました。

  • ViewModelBase を構築します。これは、INotifyPropertyChanged、INotifyPropertyChanging に実装する必要があります -> バインディング プロパティのサポート
  • RelayCommand (Prism では DelegateCommand です): ICommand の実装
  • メッセンジャークラス

Mvvm プロジェクトを作成するだけで十分ですか?

Mvvm がモデルであることはわかっているので、さまざまな実装方法があります。しかし、私のような初心者の場合。どこから始めるべきかを知るのは難しすぎる。長文で申し訳ありませんが、明確な質問ではありません。私は自分の現在の状況を示して、皆さんからのアドバイスを求めるようにしています。

読んでいただきありがとうございます。明けましておめでとうございます。

4

2 に答える 2

1

単純なMVVMプロジェクトの場合、以下で十分
です。1. RelayCommand:カスタムコマンドの場合
2. Messenger(またはEventAggregatorまたはMessageBus):ビューモデル間の通信の場合
3. ViewModelBase:ViewModelの基本クラス。モデルの基本クラスとしても使用できます(ただし、その個別の基本クラスの場合)

大規模なアプリケーションの場合、レイアウトのサポートも必要です。これは、PrismRegionsの概念によって提供されます。

それ以外は行ってもいいです。

ただし、既存のMVVMフレームワークを使用することをお勧めします。一般的に使用されるMVVMフレームワークについてはこれをご覧ください。それらは試され、テストされたフレームワーク(そして無料)です。SOLIDフレームワークを構築するには、多くのテスト作業が必要です。

フレームワークを構築することは大きな努力であるとは言いませんが、それが何であれ、それは完全に不必要です(ビジネス/作業環境が非常に厳しく、それを許可しないまで)。

于 2012-12-28T04:39:35.973 に答える
0

外部のMVVMフレームワークを使用せずに、MVVMデザインパターンを自分で実装することが(少なくとも初めて)重要だと思います。それはあなたに「水中の石」とその時解決するための異なるアプローチと解決策を見て理解することを強制するでしょう。

于 2012-12-28T05:33:04.970 に答える