私は最近、クライアントコードが関係するカーペットの下での永続性のすべての詳細をブラッシングする方法として、リポジトリパターンを検討してきました。その周囲を読んでいる間に、リポジトリは、単純なクラスではなく、集計の責任を負っているようです。集計とリポジトリ集計の決定方法
投稿と別の定義コメントを定義することができるので、これは意味があります。この2つは非常に密接に関連しているため、これは集約の理想的な候補になります。しかし、私はどのようにのユーザクラスとその関係を表すでしょうか投稿?
それは、記事/コメント集計を持つユーザーを集約しても意味が、あるいはそれ自体でユーザーを維持し、単に古き良き参照を経由して関連性を持っていますか?
私はGoogleを使って自分自身で答えを探してみましたが、多くの例は単なる単体です。つまり、投稿/コメントまたはおそらく注文と注文ラインなど私は他の関連するクラスがどのように適合するかを示すものは見つかりません。
これは具体的なものには適用されませんが、PHPやJava/C#はおそらく私がこれらのアイデアを使用して探す領域です。いずれにしても、私は逃げ出して怪物を作り出す前に、これらのアイデアやコンセプトのいくつかを試してみることにしています。 :)
ありがとうございます。
ああ、わかっています。あるオブジェクトが別のオブジェクトに完全に依存している場合、それらを集約することは理にかなっています。コメントは投稿なしでは存在できません。ユーザーを削除することは必ずしも投稿/コメントが消えることを意味するのではなく、たとえそうであったとしても、ユーザーを別のエンティティとして持つ方が理にかなっています。小さなものとして、実際のSQLをデータベースに問い合わせるための論理的な場所[または永続性のために使用するどのようなメカニズム]はどこですか?それはリポジトリや集計にあるのでしょうか?ご協力ありがとうございました! – Etzeitet
あなたはそれを持っています。リポジトリ*はメモリ内のコレクションであるかのように動作しますが、データストアに移動するように実装されています。つまり、リポジトリのインタフェースにはSQLやデータアクセスは言及されていませんが、実装はそれを抽象化しています。 –