私はDDDを使い始めたばかりなので、これはばかげた質問かもしれません...
実行時に値を取得するためにエンティティが (いくつかの IRepository インターフェイスを介して) リポジトリにアクセスしても問題ありませんか? たとえば、プロパティの「デフォルト」選択を強制したい:
class Person {
private Company _employer;
public Company Employer {
get { return _employer; }
set {
if(value != null) {
_employer = value;
} else {
_employer = employerRepository.GetDefaultEmployer();
}
}
}
...
}
私の質問は、このようなことを行うことが DDD の原則に対する恐ろしい違反であるかどうかです。そうでない場合、私の次の質問は、使用するリポジトリを提供する最良の方法は何ですか? Person オブジェクトの作成時に指定する必要がありますか?
ありがとう、P