れたほうが良いと思い練習のための分割発表者は、MVP面パターンが大きくなりすぎた?

StackOverflow https://stackoverflow.com/questions/835696

  •  08-07-2019
  •  | 
  •  

質問

問題の一つとして頻繁に走る最近の問題の発表者の授業の成長が大きすぎます。通常、chopまで通常の大きなクラスな飛ばします。その発表時にはちょっと難しいのですが伝、"みんなのコードでは難します。

特に、ページの始まりを汲CRUD配向制御できます。していたことも分割出しの制御にも影響を受けその他の体制の整理が複雑なものにできます。していたことも分割出しリストまたはグリッドデータの検索もできるが似てい落とし穴.

ある技術やルールの親指、または共用部にまrefactorのプレゼ?

役に立ちましたか?

解決

私は、通常の使用方法:

  1. 抽出処理を委譲事業規則をすることができます。
  2. パターンを可能にするセールスやマーケティングの観点論理的に関連する制御を新規作成のためのビューインタフェース毎に分割である。ましてご報告者とその延長線上にあるんです。場合にご使用の支援サブフォームを成分群とC#のサンプルソースコードユーザー制御、デフレーム等)のパワフルに再利用可能な制御できます。

更新

を分ける場合、この開始により分割の面を持っ形式の実装が複数の通信インタフェース.

public class ComplexForm: Form, ISubView, IOtherSubView
{
    ...
}

その後の発表者にして多くの意思を作成します。

public class SubViewPresenter
{
    private ISubView subView;
    ...
}

public class OtherSubViewPresenter
{
    private IOtherSubView otherSubView;
    ...
}

まる一方で、さらに一歩踏み込動の実施ISubViewとIOtherSubViewるユーザーコントロールまたはお任せします。使用している場合は、 パッシブビュー このパターンは子供の遊びから形状のみを取り扱うUIにロジック。回分プレゼンターはうまく働かなくなったので、避けるの直接のお願いいたします。場合のコミュニケーションは必要ないんだから間接的にドメインのオブジェクト。

他のヒント

データをDALに渡すか、ビューにプッシュする以外のアクティビティを実行するコードを抽出してみてください。たとえば、メールの更新やビジネスロジックの実行が必要な場合は、それらを別のクラスに抽出してみてください。私はしばしば同じ問題に対処し、できるだけ多くのロジックを個々のドメイン/エンティティクラスに移動し、そこで検証を実行しようとしています。

これが役立つことを願っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top