プロジェクトに Observer パターンを実装する際に問題があります。プロジェクトは、Windows アプリケーションのように、C# で MVC として作成する必要があります。
私のドメイン モデルには、たとえば Country クラスと Country リポジトリがあります。すべての国 (フォーム上のリスト) を表示し、新しい国を追加し、既存の国を編集するための Country コントローラーとビューがあります。
国の変更に関連する変更について、どれだけのビューが知る必要があるかはわかりません。問題は、Observer パターンを使用する必要があることです。また、Web 上では、Subject が Country で、Observer が国を編集するフォームであり、すべての例がコンソール アプリケーションにある場合の例のみを見つけることができます。
国のリストを持つすべてのフォームが、既存の国を編集するだけでなく、新しい国を追加することを知っている必要があります。リポジトリをサブジェクトにする必要がありますか?
3252 次
3 に答える
1
C# (通常は .NET) では、特別なオブザーバー/モニター/リスナーの実装であるイベントとデリゲートを使用できます。
DDD についてはわかりませんが、「NewCountryAdded」イベントまたは「CountryListChanged」イベントなどを追加します。
于 2009-01-25T11:20:05.610 に答える
1
国を編集/追加できる「ManageCountry」タスクを作成できます。このタスクには、他のビューがサブスクライブできるイベント「CountryChanged」を含めることができます。
国を変更するか、新しい国を作成すると、イベントが発生し、サブスクライバーはそれに反応できます。発生させるイベントがいくつかのカスタム EventArgs を使用していることを確認して、変更された Country オブジェクトをイベント ハンドラーに渡すことができるようにする必要があります。
MVC アプリを実装するために何を使用していますか? そのために何らかのフレームワークを使用していますか?
于 2009-01-25T11:20:44.483 に答える
0
うーん、私には、リポジトリをサブジェクトにして、リポジトリがフォームのパブリッシャーとして機能するように思えます。これを試して、うまくいったかどうかお知らせください。
于 2009-01-25T11:10:44.723 に答える