2009-06-04 9 views
2

多くの異なるコンポーネントを持つ単一フォームアプリケーションでコードを管理する最適な方法は何ですか?例えば、閲覧する商品を選択するための商品選択部を有する金融アプリケーションを考える。価格、金利などのリアルタイムチッカー。スクロールするニュースフィード。さまざまなチャート。局所的に計算された値を表示するグリッドと、guiコードをCで整理する#

このアプリ以外で使用されない場合でも、個別のコンポーネントごとにカスタムコントロールを作成しますか?または、各コンポーネントのロジックを実装し、何らかの形でGUIの実際のコントロールを更新するクラスでそれを行うことができますか? 2つの構成要素は、相互作用する必要があり得る。グリッド内のセルをクリックすると、何らかのチャートが表示されます(メインフォームでメッセージを送信するかどうかを確認します)

フィーチャーが追加されるとフォームコードが肥大化するという習慣があります。より良い方法で。私はC#(WPFを使用しない)で作業していますが、基本的な設計原則は必ずしも言語固有ではないと思います。

答えて

0

アプリケーション規模の大きさやアプリケーションの存続期間によって多少異なります。

ほとんどすべてのアプリケーションで、個別のセクションを別々のUserComponentsに分けることをお勧めします。プラグイン/ DIの使用など、これを越える方法はたくさんあります。

Composite Client Application Guidanceのアイデアを読んで(少なくともスキミングして)お勧めします。質問を渡すメッセージと、個々のコンポーネントを結合するさまざまなアプローチに関する質問について詳しく説明します。

Composite Client Appilcation Guidanceには、WPFやSilverlightを使用していないにもかかわらず、多くの宝石があります。ガイダンスのセクションの多くは技術的なものではなく、複数の要素をまとめて、再利用性とデザインの柔軟性を促進する方法にもっと関連しています。これらは、使用しているテクノロジに関係なく適用されます。

0

私はカスタムコントロールとして全力を尽くすする傾向があり、それらは私の配置のためのパネルを使用します。次に、コントロールの新しいインスタンスを作成し、それをパネルに追加します。

私の現在のプロジェクトでDI/IOCフレームワークを使用しようとしているので、これは私がより便利であることを発見したカスタムコンストラクタを実行することを可能にします。

関連する問題