数据访问对象和活动记录有什么区别?它们看起来是完全相同的,因为它们在应用程序和持久层之间建立了一个层,并使用SQL查询抽象出直接的数据库访问。活动记录和DAO之间的区别?
17
A
回答
17
数据访问对象(DAO)引用数据层中的一个对象,负责在您的域中保留一个单独的实体。活动记录是混合的,其中包含表中单个行值的类也负责查询,更新,插入和删除该表。 Active Record设计模式意味着您的对象与数据库中的表有一对一的映射关系。
18
A 数据访问对象(DAO)是专用于将模型/域对象持久化到数据源而不仅仅是数据层中的任何对象的接口。这是一个reference。
ActiveRecord模式以类似的方式工作,但将持久性方法放在模型对象本身上,而DAO定义了离散接口。 DAO模式的优点是:
它易于限定的持久性,例如,从一个数据库移动到云,而无需改变底层impelementation的另一个风格,而外部接口保持不变,因此不影响其他类。
持久性问题模块化远离主模型对象的关注点。
ActiveRecord模式的优点是简单。
相关问题
- 1. ADO和DAO之间的区别
- 2. “实体”和“记录”之间的区别?
- 3. 活动记录中@之间的基本问题区别
- 4. 屏幕和活动之间的区别
- 5. StateChart和活动图之间的区别
- 6. 轨道中的活动记录和ORM之间的区别是什么?
- 7. 活动目录角色:用户和读者之间的区别
- 8. Ember:unloadRecord与新记录之间的区别
- 9. formRemote()和submitToRemote()标记之间的区别
- 10. DAO和休眠的区别
- 11. Rails活动记录的select和group有什么区别?
- 12. 在记录Level.INFO和Level.DEBUG之间的概念区别是什么
- 13. Android中的文件,类和活动之间的区别
- 14. DAO和Data Mapper之间有什么区别
- 15. 本地和活动服务器之间奇怪的MySQL区别
- 16. jvisualvm活动对象和分配对象之间的区别
- 17. Android中进程,活动,线程和任务之间的区别
- 18. Keras:内核和活动之间的区别regularizers
- 19. UML中活动图的状态和活动之间有什么区别?
- 20. 动态和System.Object之间的区别
- 21. 可拖动和ondragstart之间的区别
- 22. 自动化测试中手写代码和记录脚本之间的区别
- 23. '+ ='和'= +'之间的区别?
- 24. #。/和#之间的区别。 ./
- 25. {!!之间的区别!!}和{{}}
- 26. ==和case之间的区别?
- 27. 之间的区别。和#
- 28. '#','%'和'$'之间的区别
- 29. | =和^ = css之间的区别
- 30. “%〜dp0”和“。\”之间的区别?
我认为你的第一个子弹是不准确的。也许在某些实现中,但在其他实现中,完全有可能在不改变接口的情况下更改持久性机制(即使在运行时)relationdb,平面文件或Web服务......特别是如果该接口设计得很好(即它只是创建,读取,更新,删除)。不同之处在于(再次,取决于具体实现......因为这些特征可以混入多种语言中......) – Mainguy
@Mainguy是的,如果语言提供了轻松动态(而非静态)mixins DAO目标可以被满足已经通过ActiveRecord。 –