这是我的问题:
我有一个巨大的类(HugeClass),我想把它分成几个小类(LittleClass1,LittleClass2,...)。我听说过代表团。听起来不错,但我认为它不适用于我的情况。确实,我的小班需要一些 HugeClass 的属性:
public class HugeClass
{
// Attributes
private Object object1;
private Object object2;
private Object object3;
...
private Object objectN;
// Delegation 1
private LittleClass1 little1 = new LittleClass1 ();
// Function delegated in the LittleClass1
public void delegated1 ()
{
little1.delegated1 ();
}
}
这是一个委托类的示例:
public class LittleClass1
{
public LittleClass1 ()
{
}
public void delegated1 ()
{
// Here, I need object1, object3, and more to work !
}
}
delegated1 函数所需的属性数量可能很大。所以我觉得使用LittleClass1的构造函数不是很方便。
而且因为 LittleClass1 只覆盖了 HugeClass 的一个方法,所以我认为 LittleClass1 不应该扩展 HugeClass。
你有解决方案的想法吗?使用另一种模式?
谢谢 !
更新
委托函数可能不仅需要实例变量,还需要实例函数:
public class LittleClass2
{
public LittleClass2 ()
{
}
public void delegated2 ()
{
// I need object2 and delegated1 to work !
}
}
将 HugeClass 赋予构造函数可能会解决此问题。但这是一个好的解决方案吗?