0

ウェブを検索して正しい答えを得るための正しい言葉遣いが見つからないようです。そのため、他のオブジェクトのコレクションを持つオブジェクトを作成するたびに、関係をどのように設計するかを考え出すのに苦労します。

たとえば、非常に初歩的な例は.. ここに画像の説明を入力

だから、私は多くのアドレスを持つことができる人物を持っています。PersonDAO で Addresses も作成して Person オブジェクトに配置するのは正しくないことはわかっています。

これが理にかなっていることを願っています。明確にする必要がある場合はお知らせください。

また、ある程度正確に見えるオンラインで見つけた唯一のものは CollectionsDAO を使用することでしたが、それがどのように機能するかわからなかったので、赤でそこに投げました.

4

2 に答える 2

1

解決策の 1 つは、PersonDAO が AddressDAO を呼び出してアドレスを取得し、返される Person オブジェクトにそれらを配置することです。これは、別の listFull() メソッドまたはその類の内部に入ります。「Address」が「Person」の一部である場合、PersonDAO オブジェクトが Person インスタンスに Address レコードを設定する方法も知っていることが概念的に間違っていることはわかりません。また、PersonDAO で AddressDAO を呼び出して実際のデータ アクセスを行うようにすると、問題が適切に分離されるように見えます (各 DAO は独自のテーブルにアクセスし、より複雑な結果を返すためにさらに多くのデータを取得する必要がある他の DAO に委任します)。

@Thieson がほの​​めかしているように、なぜわざわざ導出しようとしているのかを自問する必要があります。それらの間で本当に継承して再利用したい機能がある場合は、問題ありません。しかし、そうでなければ意味がないかもしれません。さまざまな DAO オブジェクト (ブロードリーフなど)の間に直接的な階層がない、大量のオブジェクトを持つシステムを多数見てきました。

ここでは、最も理にかなっていることを単純に実行するように指示するいくつかの回答が得られる可能性があります。これは間違いなく良いアドバイスです。

于 2013-09-18T17:24:55.397 に答える