我正在使用中介者模式来促进 GUI 对象的单元测试。
伪代码示例:
Class MyGuiClass
{
//... Declare and initialize mediator to be a MyMediator
private void On_SomeButtonPressed()
{
mediator.SomeButtonWasPressed();
}
}
Class MyMeditator
{
public void On_SomeButtonPressed()
{
//.. Do something now that the button was pressed
}
}
这很好,因为我现在可以对按下 SomeButton 时发生的情况进行单元测试,而无需创建窗口。
我担心的是,我采用了一种私有的方法,并将其公开给任何让 Mediator 调用的人。过去我这样做并没有打扰我,因为我没有太多必须公开的方法。
我目前正在重构一个非常大的类以使用这种模式,我想知道是否有某种方式可以控制谁可以创建 MyMediator 或哪些类的某些方法是公共的可见性。(这可能是不可能的,甚至是不需要的,但我想我会问。)
(我将 C# 3.0 与 .NET 3.5 SP1 一起使用)