以下の単純化された例のように、包含オブジェクトを引数として包含オブジェクトのメソッドに渡すのは悪い設計ですか?
class A
{
private B _containedObject;
public A(B b)
{
_containedObject = b;
//...
}
public void SomeMethod()
{
//...
_containedObject.SomeMethod(this);
//...
}
}
class B
{
public void SomeMethod(A a)
{
//do something with a
}
}
Ps 上記の例は、包含関係と、包含オブジェクトを包含オブジェクトに渡すことのみを示すために単純化されており、それ自体はそうする目的を示していません。目的がありますのでご安心ください。