none
フォームの設計について RRS feed

  • 質問

  • VB.NET VS2005で開発しています。

    初心者な質問で申し訳ないのですが、現在フォーム画面を設計しています。
    結構たくさんのコントロールを配置し、各イベントの処理をすべてこのフォームの中に
    記述しています。そこで問題になってきたのが一つのクラス(フォーム)の中ですべての
    イベントを記述してるので1000行を超えてしまいみづらくなってしまいました。
    みなさんはどのように設計されていますでしょうか?
    2007年3月22日 5:56

すべての返信

  • まずはこのような対応でしょうか?

    VS.NETでソース・コードを見やすくするには?
    http://www.atmarkit.co.jp/fdotnet/dotnettips/157vsedit/vsedit.html

    2007年3月22日 7:08
    モデレータ
  • うめ吉さん、こんにちは。

     うめ吉 さんからの引用
    初心者な質問で申し訳ないのですが、現在フォーム画面を設計しています。
    結構たくさんのコントロールを配置し、各イベントの処理をすべてこのフォームの中に記述しています。
    そこで問題になってきたのが一つのクラス(フォーム)の中ですべてのイベントを記述してるので1000行を超えてしまいみづらくなってしまいました。
    みなさんはどのように設計されていますでしょうか?

    そうならないように、サブとなる Form の設計を検討するようにしています。
    イベントはそこに記述するしかないですが、汎用的なビジネス ロジックは分離します。

    2007年3月22日 9:10
  • じゃんぬねっとさん有難うございます。

    「そうならないように、サブとなる Form の設計を検討するようにしています。」

    サブとなるFormとはどういったものを言われてますでしょうか?一つの画面で処理する
    のではなく複数の画面に分けるということでしょうか?


    2007年3月22日 9:44
  •  うめ吉 さんからの引用
    サブとなるFormとはどういったものを言われてますでしょうか?一つの画面で処理するのではなく複数の画面に分けるということでしょうか?

    設計段階の問題であることが多いですから、そういったものが主となるでしょう。
    カスタム コントロール、ユーザーコントロール、ビジネス ロジック分離、他にもいくつかあると思います。

    2007年3月22日 11:04
  •  うめ吉 さんからの引用
    結構たくさんのコントロールを配置し、各イベントの処理をすべてこのフォームの中に
    記述しています。そこで問題になってきたのが一つのクラス(フォーム)の中ですべての
    イベントを記述してるので1000行を超えてしまいみづらくなってしまいました。
    みなさんはどのように設計されていますでしょうか?

    • イベントハンドラとロジックの分離の徹底 ( TDD でやってれば、 おのずとそうなりますが… )
    • イベントハンドラの共通化 (複数のコントロールのイベント処理が同じならば、 一つのイベントハンドラに結びつける。)
    • カスタムコントロールの作成 (コントロールを継承したカスタムコントロールを作り、 共通のイベント処理をそのカスタムコントロールに閉じ込める。)
    …というようなことをやってます。
    2007年3月26日 23:59