类将自己传递给自己的对象是不好的做法吗?
例如:
public class MainView extends SurfaceView {
Stack<GameObject> objs;
public MainView() {
new GameObject(this);
}
public void Add(GameObject obj) {
objs.push(obj)
}
public void Remove(GameObject obj) {
objs.pop(obj)
}
}
public class GameObject {
MainView parent;
int state;
public GameObject(MainView parent) {
this.parent = parent;
parent.Add(this);
}
public void doStuff() {
if(state == 1) {
new GameObject(parent);
}
else if(state == 2) {
parent.Remove(this);
}
}
}
我努力删除静态方法/变量。现在我必须将视图传递给它自己的对象。这是一个不好的做法吗?对象应该有逻辑还是 SurfaceView 应该包含所有逻辑?