11

私の質問には2つの部分があります。

  • 読み取り、書き込み、および保守が容易なGUIコードの記述方法に関するヒントやWeb上のドキュメントへの参照を誰かが持っていますか?

    例。

    GUIフォームが広範になるほど、かなり短いイベントハンドラーメソッドの長いリストになってしまいます。プライベートヘルパーメソッドを追加しようとすると、それらはシャッフルで迷子になり、1つの考えに従うために、常にページをスクロールする必要があります。


  • アプリケーション全体で設定を簡単に管理するにはどうすればよいですか?

    例。

    ユーザーがドロップダウンリストで新しいアイテムを選択した場合、GUIでいくつかのコンポーネントを有効にし、アプリの構成ファイルを更新し、後で使用するために新しい値をローカル変数に保存する必要がある場合があります。私は通常、すべての設定(上記を参照)のイベントハンドラーを作成せず、「LoadGUISettings」や「SaveGUISettings」などのメソッドを使用することを選択しますが、コード全体でこれらのメソッドを呼び出すことになり、多くの処理が実行されます。実際の変更があったとしてもごくわずかしか更新しないためのコードです。

ありがとう!

4

3 に答える 3

7

OOの観点からの最初の質問のガイドライン:

  • 大きなクラスを小さなクラスに分割します。 そのパネルには、かなりモジュール化されたサブパネルがたくさんありますか?サブパネルごとに小さなクラスを作成してから、別のより高いレベルのクラスにそれらをすべてまとめてもらいます。
  • 重複を減らします。 機能を共有する2つのツリーがありますか?スーパークラスを作ろう!すべてのイベントハンドラーが同じようなことをしていますか?彼ら全員が呼び出すメソッドを作成してください!

2番目の質問。これを行うには2つの方法があります。

  • リスナー。 1つのコンポーネントで発生した変更に多くのコンポーネントが応答する必要がある場合は、そのコンポーネントにイベントを発生させます。
  • グローバル変数。多くのコンポーネントが同じデータを読み書きしている場合は、それをグローバルにします(ただし、選択した言語でそれを行います)。さらに便利なように、2つのアプローチを組み合わせて、コンポーネントがグローバルデータオブジェクトの変更をリッスンできるようにします。
于 2009-05-07T18:37:46.927 に答える
3

WPF を使用している場合は、WPF の複合アプリケーション ガイドを読むことをお勧めします。

これらのトピックの多く (および他の多くのトピック) について説明します。このガイダンスの主な目標は、柔軟で保守可能な方法で大規模なアプリケーションを作成することです。

于 2009-05-07T18:23:39.770 に答える
0

Jeremy Miller のリッチ クライアント デザインのガイドをぜひご覧ください。不完全ですが、彼はこのテーマについて本を書いていると思います。

チェックすべきもう 1 つのブログは、Rich Newman の. 彼は、リッチ クライアントを構築する方法に関する MS のベスト プラクティス ガイドである Composite Application Block について書いています。

非常に軽い読み物ですが、いくつかの良いアイデアを提供するこの本を読むこともできます。

于 2009-05-07T18:37:02.077 に答える