4

いくつかのフォームで、WindowsフォームアプリでMVPパターンを使い始めました。これらのフォームはプレゼンターを作成し、プレゼンターに戻ります。

私は特定のフレームワークを使用していませんが、フォームは他のフォームを開くことができます。

プレゼンターが(ビューを介して)他のフォームを開くことができるように、この設定を変更する必要がありますか?これを行うにはIOCフレームワークを使用する必要があると思いますか?

これにより、UIで関連するフォームを開くためのロジックを配置する手間が省け、フォーム内からプレゼンターへの参照を削除できるようになります。

4

2 に答える 2

4

フォームの作成/管理を担当する別のクラスが必要です。コマンドパターンを使用して、新しいフォームを開くコードを呼び出すことをお勧めします。最終的にはスケーリングが大幅に向上し、コマンドの実装を変更してさまざまなことを実行できます。私のプロジェクトでは、フォーム自体でデータの変更を行うだけですが、「アプリケーション」と対話するものはすべてCommandオブジェクトに委任されます。

これを行うためにIOCフレームワークは必要ありませんが、それは役に立ちます。単純なニーズがある場合は、単純に保つことができます。

私のサイトにはWinFormsMVPの例があります:ModelViewPresenter。私はIOCコンテナーを使用しませんが、IOCコンテナーを使用するとクイックホップになるようにコードを構成します。

于 2008-11-13T23:42:53.290 に答える
0

私は、職場用と家庭用の2つのwinformsプロジェクトで同様のことを行っています。

両方に対する私の解決策は、発信者が新しいプレゼンターにアクセスしてメッセージを渡すことを可能にするビューのファクトリを使用することです。場合によっては、サービス インターフェイスをプレゼンター自体または注入可能な中間クラスに配置することで、それらをさらに抽象化しています。

于 2008-11-12T01:17:09.143 に答える