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 回答