クラスが自分自身を自分のオブジェクトに渡すのは悪い習慣ですか?
例えば:
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にすべてのロジックを含める必要がありますか?