Java观察者/访问者,静态访问者

时间:2018-04-12 14:12:24

标签: java oop design-patterns static visitor

所以我有这个类基本上处理场景加载。在程序的不同位置,您使用应该加载的不同图层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(); } } } }

0 个答案:

没有答案