我正在开发一个应用程序,我希望我的客户端类尽可能干净。 我正在考虑使用中介模式(可以在以下地址找到) 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;
}
}
感谢
答案 0 :(得分:0)
免责声明:之前我没有使用过调解员模式。 (至少没有意识到)
但是,从它看起来我认为你提出的建议完全没有问题,我甚至认为它更好,因为它允许你在类似的表格上重复使用相同的中介,它从中删除更多的代码父表单本身。您还可以将其视为“装饰”具有新功能的表单。 (另见装饰者模式)
当然,它还取决于调解器的目标,如果您希望能够在文本框之间快速切换,则需要手动添加每个控件以使其更好,但是如果您要为通用“添加功能”具有某些属性的表单并希望在几个相似的表单上重用它,最好将整个表单作为输入。
这还取决于您首先封装表单的程度。如果所有子控件由于某种原因已经是私有的,那么让它们公开以在中介中访问它们可能是个坏主意。