これはばかげた質問かもしれませんが、現在の検索では、データの表示とプレゼンターとビューの間の相互作用に関する情報がほとんどでしたが、モデルとプレゼンターについてはほとんど見つかりませんでした。
基本的に、C#アプリケーションがあり、5x5の数値配列であるCSVファイルを開くとします。5 x 5のCSV配列をintの配列にロードしたい場合、これはグランドスキームのどこで処理されますか?
これはMVPに従うという私の現在の考えですが、私が間違っている場合は訂正してください(または、私が正しいことを確認してください)。
- ユーザーがボタンをクリックしてファイルをロードします。
- ビューは、ユーザーがファイルを選択するためのshowOpenDialog()をロードします。
- ユーザーがそのダイアログで[OK]をクリックすると、ビューはそのファイル名を含むイベントをプレゼンターに送信します。
- プレゼンターはそのファイル名を取得し、ファイルを開いて5 x5int配列に解析します。
- 次に、プレゼンターはイベントを通じてそのint配列をモデルに提供します。次に、モデルはその配列を格納します。
- モデルは、データが変更されたことを示すイベントを提供します。
- プレゼンターはこのイベントをリッスンして処理し、その5 x5int配列をDataTableに配置します。
- プレゼンターは、新しいDataTablereadyがあることを示すイベントを発生させます。
- ビューはこのイベントをリッスンして処理し、DataTableによって提供される情報でdataGridViewを更新します。
MVPについての私の理解は、そこでのステップ5については曖昧になります。それはどうあるべきか、それとも各コンポーネントがMVPで何をするのか誤解したのでしょうか?