ORM/DAO/DataMapper/ActiveRecord/TableGateway 差异?

发布于 2024-09-08 09:46:00 字数 102 浏览 5 评论 0原文

请您解释一下以下数据库代表(例如 PHP 中的数据库代表)之间的差异:

ORM DAO 数据映射器 活动记录 TableGateway

任何示例将不胜感激。

Can you, please, explain me the differences between the following database representatives, say, in PHP.:

ORM
DAO
DataMapper
ActiveRecord
TableGateway

Any examples would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

漆黑的白昼 2024-09-15 09:46:00

这需要一个相当长的答案。我不会重复其他人在我之前说过的更好、更详细的内容,而是将您链接到一些相关页面。我建议仔细查看它们。也许可以点击一些额外的链接。维基百科总是一个好的开始。如果您在浏览链接后仍然对其中一种模式有任何疑问,请随时返回 SO 并再次询问。但如果你这样做,请尝试缩小范围。提出多个问题并专注于特定方面比期望人们为您写一篇文章更好。

对象关系映射器

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

数据访问对象

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

DataMapper

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

活动记录

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

表数据网关

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

That would require a pretty long answer. Instead of repeating what others have said better and in more detail before me, I link you to some relevant pages. I suggest to look through them. Maybe follow a few additional links. Wikipedia is always a good start. If you still have any questions about one or the other pattern after going through the links, feel free to come back to SO and ask again. But if you do, try to narrow it down. It's better to ask multiple questions and focus on particular aspects than expecting people to write an essay for you.

Object Relational Mapper

Object-relational mapping (ORM, O/RM, and O/R mapping) in computer software is a programming technique for converting data between incompatible type systems in relational databases and object-oriented programming languages.

Data Access Object

Use a Data Access Object (DAO) to abstract and encapsulate all access to the data source. The DAO manages the connection with the data source to obtain and store data.

DataMapper

A layer of Mappers (473) that moves data between objects and a database while keeping them independent of each other and the mapper itself.

Active Record

An object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data.

Table Data Gateway

An object that acts as a Gateway (466) to a database table. One instance handles all the rows in the table.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文