永続性やその他のインフラストラクチャの問題を織り込むことなく、ドメイン層を可能な限り「純粋」に保とうとしています。ただし、ドメイン層で RDBMS またはその他の外部依存関係のサービスを使用する必要がある場合があり、その処理方法がわかりません。
たとえば、私のアプリの各ドメイン オブジェクトは IValidatable インターフェイスを実装しています。このインターフェイスはクライアントによって呼び出され、オブジェクトの永続化を妨げる壊れたルールのリストを取得します。場合によっては、前述の検証ルーチンで、特定のレコードの存在を確認するために DAO クラスを呼び出す必要があります。ORM は使用していません。代わりに、Data Access Object パターンを使用して構築された永続レイヤーを使用します。このデータベース アクセスに関するサービス/ラッパー クラスを作成し、ドメイン オブジェクトと連携させる必要がありますか? このレベルの間接化を追加しても問題ありませんか、それともまだドメイン オブジェクトを汚染していますか?