我有一个GUI应用程序与很多控制。它们中的大部分都有事件和控制逻辑地连线到每个地方。 例如,我有5个组合框。 如果我选择在CB1和CB3他们CB2东西必须改变其可用值的列表。 如果我选择cb2和ch4,他们cb5必须加载其可用值的列表。 我在网上发现的所有文章都说我应该在这种情况下使用中介模式。 但是在所有这些文章中,调解者 - 就像是一个神类,它知道所有控制的一切,并决定在发生某些事件时应该做什么。 如果我有5-6对照 - 一切都很好。 但是如果我有像20或40控制的东西呢?我猜在这种情况下,调解员班将成为怪物。很难做到这一点(修改或添加新功能)。使用哪种设计模式(我需要类似中介模式的东西)?
有没有其他模式,或调解员pathern,这将有助于解决这种情况的好例子?
PS:对不起,如果已经有关于这个话题的问题 - 有很多同名的问题,以至于找到我真正需要的所有这些话题都不是那么容易的。
事实上,20-40个控件可能会导致一个非常复杂的调解器,然而,调解器有着明确的责任,比在许多类中分散逻辑更容易理解。*红旗*在你的问题中不是风险由于20-40的控制,而是一个GUI设计,允许20-40控制。 – Fuhrmanator 2012-04-17 15:40:21
** Fuhrmanator **,我有一个大的形式与一些工作的工作情况(发票,合同等)。所以,有很多领域,用户必须与之合作。对于用户来说,使用一个屏幕信息更方便。所以,如果我会试着说一些类似“好的,现在你会有3 \ 5窗体\屏幕\窗口。在第一个填充这些信息,第二个填充这些信息。”用户会发现一些其他开发人员\公司,而不是改变那里的习惯。而且,无论如何,这个主题是另一个话题,我想:) – 2012-04-19 10:20:29