データアクセスオブジェクトとアクティブレコードの違いは何ですか?アプリケーションと永続化レイヤーの間にレイヤーを構築し、SQLクエリーを使用して直接的なデータベースへのアクセスを抽象化することで、まったく同じように見えます。アクティブレコードとDAOの違いは?
17
A
答えて
17
データアクセスオブジェクト(DAO)は、データレイヤー内の、ドメイン内に別のエンティティを保持する役割を果たすオブジェクトを指します。アクティブレコードは、テーブルの単一の行の値を含むクラスも、そのテーブルへのクエリ、更新、挿入、および削除を担当するハイブリッドです。アクティブレコードデザインパターンは、オブジェクトがデータベース内のテーブルと1対1のマッピングを持つことを意味します。
18
データアクセスオブジェクト(DAO)は、データレイヤー内のオブジェクトだけでなく、データソースへのモデル/ドメインオブジェクトの永続化専用のインターフェイスです。ここにはreferenceがあります。
ActiveRecordパターンは同様の方法で動作しますが、モデルオブジェクト自体にパーシスタンスメソッドを置きますが、DAOでは個別インターフェイスが定義されています。 DAOパターンの利点は次のとおりです。
例えば、基礎となるimpelementationを変更せずに、クラウドへのデータベースから移動し、持続性の別のスタイルを定義するために、その簡単に、外部インタフェースは、したがって、他に影響を与えない、同じままクラス。
永続性の懸念は、メインモデルのオブジェクトの懸念から離れてモジュール化されています。
ActiveRecordパターンの利点は単純です。
関連する問題
- 1. ADOとDAOの違い
- 2. アクティブレコードとテーブルデータゲートウェイの相違点
- 3. アクティブレコードとレールのORMの違いは何ですか?
- 4. DAOとDALの違いは何ですか?
- 5. CIアクティブレコードを使用していない間違い?
- 6. VOとDAOは、クエリ
- 7. ジェネリックDAOメソッドが間違っているが、それは
- 8. DAOはDAOを呼び出すことはできますか?
- 9. PHPのORMとDAO
- 10. DAOとSpring Autowired
- 11. DAOパターンとモデルオブジェクト
- 12. MVCとアクティブレコード対ファクトリ
- 13. は、アクティブレコード協会
- 14. ジェクトDAOと工場
- 15. 汎用DAOとラッパー
- 16. DAOパターンと関係
- 17. 春のデータリポジトリとDAO Javaジェネリック
- 18. JDBCのDAOと継承
- 19. struts 2フレームワークのDAOとDTO
- 20. Rubyオブジェクト#IDは警告とアクティブレコード
- 21. アクティブレコードとor_likeを持つCodeIgniter
- 22. CIアクティブレコード、エスケープとorder_by datetime列
- 23. Angularjsのアクティブレコードまたはデータマッパーパターン?
- 24. アクティブレコード。 Railsの
- 25. アクティブレコードの "NOT IN"
- 26. アクティブレコードの関連
- 27. アクティブレコード。 Model.Find.last
- 28. アクティブレコード(MYSQL) -
- 29. DAO工場パターンとは何ですか?
- 30. 理解DAOパターンとインターフェイス
私はあなたの最初の弾丸が不正確だと思います。おそらく、いくつかの実装では、しかし他のものでは、永続化メカニズム(実行時でさえ)をreldb、フラットファイル、またはWebサービスをインタフェースを変更することなく完全に変更することができます...特にそのインタフェースがうまく設計されていれば、更新、削除)。違いは(やはり、実装によっては...これらの特性が多くの言語に混在する可能性があるからです...) – Mainguy
@Mainguy DAOの目標が達成できる、簡単でダイナミックな(静的ではない)すでにActiveRecordによって –