ORM/DAO/DataMapper/ActiveRecord/TableGateway的区别?

Mir*_*nov 13 php database orm activerecord dao

请你解释一下以下数据库代表之间的区别,比如PHP:

ORM DAO DataMapper ActiveRecord TableGateway

任何例子将不胜感激.

Gor*_*don 17

这需要一个很长的答案.我没有在我之前更好地重复别人的更好和更详细的说法,而是将您链接到一些相关页面.我建议仔细研究一下.也许按照一些额外的链接.维基百科始终是一个良好的开端.如果您在浏览完链接后仍对其中一种或另一种模式有任何疑问,请随时回复并再次询问.但如果你这样做,试着缩小范围.最好是提出多个问题并关注特定方面,而不是期望人们为你写一篇文章.

对象关系映射器

计算机软件中的对象关系映射(ORM,O/RM和O/R映射)是用于在关系数据库和面向对象的编程语言中的不兼容类型系统之间转换数据的编程技术.

数据访问对象

使用数据访问对象(DAO)来抽象和封装对数据源的所有访问.DAO管理与数据源的连接以获取和存储数据.

的DataMapper

一层Mappers(473),它在对象和数据库之间移动数据,同时保持它们彼此独立以及映射器本身.

积极记录

在数据库表或视图中包装行的对象,封装数据库访问,并在该数据上添加域逻辑.

表数据网关

充当数据库表的网关(466)的对象.一个实例处理表中的所有行.