MVCパターンのように、GUI/データ/ロジックコンポーネントを分離する必要があるといつも聞いています。だから、私は疑問に思っています:GUIアプリケーションでは、実際にデータをどこに保存しますか?
次に例を示します(C#の用語を使用)。
ユーザー入力を受け取り、分析を行い、結果をテーブルに表示するGUIがあるとします。
ユーザーは1つのウィンドウで複数の分析を行うことができるため、下部にListViewがあり、ユーザーは現在表示されている分析を選択できます(選択した項目が表示されます)。
これを表示するには、分析データをどこかに保存する必要があります。
私はいつも2つのことのうちの1つをしました:
- すべてのデータを1つのオブジェクトに入れ、ListViewItemの「Tag」プロパティに保存します
- 「ListViewItem」を拡張し、必要なプロパティを追加するだけです。
ただし、これは、ListViewItem内にデータを保存していることを意味します。データを追跡するためのより適切な場所はありますか?
メインフォームにプライベートメンバーとして追加することもできますが、それは同じように思えます。私が考えることができる他の唯一のことは、必要なときにいつでも参照できるグローバルクラスを作成することです。
ありがとう。