0

アプリケーションを開発していますが、クライアント クラスをできるだけきれいにしたいと考えています。メディエーター パターンを使用することを考えていました (次のアドレスにあります) http://www.codeproject.com/KB/aspnet/SoftArch2.aspx

問題は、GUI に多くのコントロールを含めることができ、多くのメンテナンスが必要になることです。たとえば、メディエーター クラスでクライアント フォームを参照することをお勧めします。

class GuiMediatorObj
{

  private static mainForm _clientForm

  public GuiMediatorObj(mainForm parent)
  {
            _mainForm = parent;
  }

 public void print()
 {
     clientForm.TextBox1.Text = "some text;
 }

}

ありがとう

4

1 に答える 1

0

免責事項: 以前にメディエーター パターンを使用したことがありません。(少なくとも無意識に)

しかし、あなたが提案していることはまったく問題ないと思います。同様のフォームで同じメディエーターを再利用でき、親フォームからさらに多くのコードを削除できるため、より良いとさえ主張します。自体。新しい機能でフォームを「飾る」ことと考えることもできます。(デコレータパターンも参照)

もちろん、それはメディエーターの目標にも依存します。テキストボックス間ですばやく変更できるようにしたい場合は、すべてのコントロールを手動で追加する必要がありますが、特定の機能を備えた一般的なフォームに「機能を追加」している場合フォーム全体を入力として取得する方がよいでしょう。

また、最初にフォームをどれだけうまくカプセル化しているかにも依存します。すべての子コントロールが何らかの理由で既にプライベートになっている場合、メディエーターでそれらにアクセスするためにそれらをパブリックにすることは悪い考えかもしれません。

于 2011-09-06T20:23:14.113 に答える