私は、WinControl(.NET 4)アプリケーションをリファクタリングして、TabControlを使用してUserControlを含むようにします.UserControlは各TabPageでインスタンス化され、各タブの編集者これらは、フォーム全体によって編集されているオブジェクトに最終的にフィードされるアイテムのコレクションを編集しています。WinFormsとUserControlsのコレクションを持つHumble View/MVP
class School
string Name
string Address
Course
S、いくつかの適切なフィールドを持つそれぞれ(Department
、Name
、等)の収集
(これは実際には学校関連のアプリケーションではないですが、メタファーは動作します。)
視覚的に、ユーザーコントロールのセット親フォームSchool
情報を扱う一方で、Course
ESを管理します。
今、私はフォーム/スクールの発表者と、UserControl/Courseのプレゼンターを持っていて、それぞれを見ています。学校の発表者はコースのいくつかの情報を管理する必要があります。たとえば、1つのコースで選択されたオプションは、他のコースのオプションを制限します。 School
モデルでは、その計算が処理されますが、コースのプレゼンターに連絡する必要があります。
私はMVPの議論でこのタイプの関係の例を見つけるのにあまり成功していません。これは初めてのMVPアプローチです。これを処理するための良い選択肢は何ですか?学校の発表者がコースのプレゼンターのコレクションを持ってそのセットを表現することは適切ですか?スクールの見解にはコースの見解の集まりがありますか?
私の主な目標は、テスト容易性と保守性を向上させることです(これまでのところ、主要な情報源はMichael Feathersの「The Humble Dialog Box "とJeremy Millerの" Build You Own CAB "シリーズがあります。
私は信じられないほど遅い応答のために謝罪します。これは非常にうまくいっていて、非常にテスト可能でした。ありがとうございました! –