0

エンティティ Foo があり、別のエンティティ Bar のリストが含まれているとします。Bar は Foo を直接参照する必要がありますか? つまり..

public class Foo
{
   public int Id {get; set;}
   public IList<Bar> Bars {get; set;}
}

public class Bar
{
   public int Id {get; set;}
   public Foo parentFoo {get; set;  //this will be set to an the Foo entity on creation
}

または、Bar クラスで Foo への参照を省略しますか?

私はその参照を除外することに傾いていますが、ここで正しいアプローチは何だろうと思っていましたか?

4

4 に答える 4

3

正しいアプローチは、「Bar は何らかの理由で Foo を参照する必要がありますか?」という質問をすることです。Bar が何もする必要がない場合は、そこに参照を配置しないでください。

于 2009-02-05T15:33:07.183 に答える
2

それは本当に例に依存します。親を知る必要がある場合(たとえば、双方向ナビゲーションを実行するためXmlNodeなど) は、それが必要になります。これは、片親の場合にのみ機能します。

変更通知だけが必要な場合は、イベントの方が用途が広い可能性があります。特に、イベントでは偏見なく複数の「親」を使用できます。

子供が親のことを気にする必要がないなら、気にしないでください。

于 2009-02-05T15:34:48.537 に答える
1

オブジェクトが自分が属するものをBar絶対に知る必要がない限り、省略してください。Foo

そして、それが必要だと判断した場合は、Bar複数に属するオブジェクトをどのように処理するかを検討してくださいFoo(説明したクラス構造では完全に可能です)。

于 2009-02-05T15:37:26.033 に答える
1

「必要に応じて実行してください」という回答を支持しますが、両方向の結合は脆弱なコードにつながる傾向があることを警告したいと思います。Barback から to への参照Fooが絶対に必要かどうかを慎重に検討してください。回避できる場合は、回避する必要があります。

于 2009-02-05T15:48:14.610 に答える