すべてのアプリケーションには、構成可能ないくつかの設定が含まれています。これらの設定は、多かれ少なかれ次の 2 つのカテゴリに分類できます。
- アプリケーションの外観: 例として、ウィンドウの位置、ウィンドウのサイズ、ビューのデフォルト オプションなどがあります。
- ビジネス ルール: これらの設定は、ビジネス ロジックによって使用されます。
私が実装したアーキテクチャでは、View には独自のプロジェクト (WPF) があり、ViewModel には独自のプロジェクト (クラス ライブラリ) があります。論理的な観点から、View はビュー関連の設定の読み込みと保存を担当し、ViewModel はビジネス設定の読み込みと保存を担当する必要があります。
ビューの設定は扱いやすいです。設定 (app.config) で必要なプロパティを作成すると、簡単に読み込んで保存できます。
ただし、ViewModel は、View プロジェクトで利用可能な組み込みメカニズムを介して app.config 設定にアクセスできません。
私が最初に考えたのは、ViewModel から app.config の設定を読み書きできるヘルパー メソッドを作成することでした。あなたの意見は何ですか?私はここで物事を複雑にしていますか、それともこれはアプリケーション設定を処理するための受け入れ可能な方法ですか?