データマッパーおよびアイデンティティマップと一緒に。私は他の2つのパターンも習得しなければならない仕事の100%統一を理解すると思います。
あなたの質問に答えるために、私は仕事の団結を作り、それをレジストリに保存することができると思うので、アプリケーション全体で利用できます。データベースとの通信に中央ゲートウェイを確保する必要があるため、単一性が必要です。あなたの団結の中には、アイデンティティマップがあります。アイデンティティマップは、あなたのモデルを表すメモリ内の価値のあるオブジェクトのコレクションであり、すべてのアプリケーションの操作中にオブジェクトの状態を維持します。統合は、モデル上でCRUD操作を実行するためにサービスレイヤーによって使用され、これらの変更をコミットします。 さらに多くのデータベースで作業するには、アイデンティティマップに格納されているオブジェクトへの名前空間によるアクセスを活用する必要があると思います。名前空間の選択肢:作業の統一またはアイデンティティマップ。この決定は、アプリケーションとユースケースによって異なります。読取りと書込みの間の責任を分けたり、異機種データ・ソースを統合しようとすると、異なるDBに接続する必要があります。 DBオブジェクトを単一の作業メソッドに挿入する方法もあります。この場合、アプリケーションはどのデータベースを使用するかを100%制御します。
レポジトリ私の知る限りでは、モデルのストレージに抽象化するのに役立ちます。異機種のデータソースを扱う場合には、アプリケーションに柔軟性を提供する必要があります。したがって、私はそれが仕事とデータマッパーの層の統一とは全く違うと思います。
出典
2012-10-30 15:32:14
Fab
レスポンスのチャンスを増やすために追加できるものはありますか?質問は明確ではありませんか? –