1

いくつかのタブにまたがる多数のコントロールがある winform があります。ユーザーが行ったコンボ ボックスの選択に基づいて、これらのコントロールの一部を有効/無効にするロジックを作成しています。frmMain.vb にロジックを記述することはベスト プラクティスではないと推測しているため、次の方法でフォームのコントロールにアクセスする必要があるかどうか疑問に思っています。

  1. インターフェイス
  2. 別のクラスによってアクセスされる frmMain.vb 内のフレンド宣言されたプロパティを通じて、または
  3. 他の

どんな助けでも大歓迎です!

4

1 に答える 1

0

一般に、フロントエンド コードをビジネス ロジック レイヤーに関連付けて、コントロールの有効化/無効化を制御するロジックにすることをお勧めします。可能であれば、一緒に無効にするものに基づいてコントロールをグループ化し、一度にすべてを無効にするルーチンを作成し、disableAddContactInfoArea()またはのように適切な名前を付けますSetAddContactInfoArea(boolean isEnabled)。私の考えでは、ルーチンはfrmMain.vb. 避けるべきことの 1 つは、個々のコントロールを別のクラスに公開することです (ただし、特定のビジネス プロセスに必要なのはそれだけではありませんが、その場合でも、将来の編集を容易にするために、それをルーチンに入れ、適切な名前を付ける必要があります)。複雑ではない)。あなたの主な目的は、複雑さを管理することです (これについては、Steve McConnell の著書Code completeを参照してください。おそらく第 7 章を​​参照してください)。

理想的なのは、 にいくつかpublic Subの s を配置しfrmMain.vb、必要なことを正確に実行するためだけに、使用している のインスタンスでビジネス ロジック レイヤーにこれらのルーチンを呼び出さfrmMainせることです。

于 2013-01-15T17:20:10.083 に答える