所以我有这个类基本上处理场景加载。在程序的不同位置,您使用应该加载的不同图层ID通知访问者。
由于我只有一个场景处理程序,逻辑上不能有更多,并且调用loadLayer方法和Subscribe方法的能力必须随处可用,我决定让它静止。
现在我的问题是:这被认为是一个糟糕的OOP练习吗?如果是这样,我应该如何使这个类非静态并且可以从任何地方访问,而不必通过参数或其他方式传递它。
感谢您的帮助。
package backend.events;
import java.util.ArrayList;
public final class LoadLayerHandler
{
private LoadLayerHandler()
{
}
private final static ArrayList<LoadLayerEvent> subscribers = new ArrayList<LoadLayerEvent>();
x
public static final void subscribe(LoadLayerEvent subscriber)
{
subscribers.add(subscriber);
}
public static final void loadLayer(int layer)
{
for(LoadLayerEvent i : subscribers)
{
if(i.isBlackList() == false)
{
for(int j : i.getLayers())
{
if(j == layer)
{
i.loadLayer();
break;
}
else
i.unloadLayer();
}
}
else
{
for(int j : i.getLayers())
{
if(j == layer)
{
i.unloadLayer();
break;
}
else
i.loadLayer();
}
}
}
}