職場では、私が維持する製品には多くの「可動部分」があります。その設計方法に関する主な問題点の 1 つは、リスト内の新しい項目が選択されたことを 10 か所の異なる場所で知る必要があるということです。直接コードパスをコーディングする必要があります。たとえば、次のレイアウトで。
Form1
|
+-------------------+---------------------+
| | |
Control1 Control2 Control3
| | |
| +-----------+ +----+----+
| | | | |
SelectionList View1 View2 View3 View4
(私が取り組んでいる実際のアプリケーションには、GUIコンポーネント用にこれよりも多くのレイヤーがあります...ブレ...)
コントロールに別のビューを追加する場合は、選択されている項目によって異なりますが、Form1 はメッセージをルーティングする必要があります。さらに悪いことに、選択リストまたはいずれかのビューから、選択したアイテムに対して呼び出すことができるさまざまなコマンドを追加すると、アクションを適切に呼び出すために、ビューを変更する必要があります。通常、そのようなアクションは Form1 に格納されています (メイン メニュー オプションからも利用できます...)。
(ファイルのリストのように SelectionList を考えてください...)
これは壊れやすく扱いにくいようです。
最近私は、イベント (コマンドなど) のパブリッシャーとサブスクライバーがイベント引数の定義とイベントを受け取るためのイベントの名前。
私の質問は次のとおりです。
.Net 3.5 で既にこれを行っている商用、オープンソース、またはパブリック ドメインのライブラリはありますか? (私は C# を使用します。) これはアプリケーション内メカニズムである必要があります。MSMQ やThis Codeplex プロジェクトなどのインターアプリケーション ライブラリとメカニズムについては既に知っています。
このようなソリューションを開発または使用した経験がある場合、回避すべき上位 3 つの落とし穴は何ですか?