C#中介GUI模式的最佳实践(Winforms)

时间:2011-09-06 19:56:20

标签: design-patterns mediator

我正在开发一个应用程序,我希望我的客户端类尽可能干净。 我正在考虑使用中介模式(可以在以下地址找到) 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;
 }

}

感谢

1 个答案:

答案 0 :(得分:0)

免责声明:之前我没有使用过调解员模式。 (至少没有意识到)

但是,从它看起来我认为你提出的建议完全没有问题,我甚至认为它更好,因为它允许你在类似的表格上重复使用相同的中介,它从中删除更多的代码父表单本身。您还可以将其视为“装饰”具有新功能的表单。 (另见装饰者模式)

当然,它还取决于调解器的目标,如果您希望能够在文本框之间快速切换,则需要手动添加每个控件以使其更好,但是如果您要为通用“添加功能”具有某些属性的表单并希望在几个相似的表单上重用它,最好将整个表单作为输入。

这还取决于您首先封装表单的程度。如果所有子控件由于某种原因已经是私有的,那么让它们公开以在中介中访问它们可能是个坏主意。

相关问题