是否有充分的理由在MVC环境中使用ORM?

时间:2013-03-20 01:42:03

标签: php mysql orm

在使用和不使用ORM的框架之后,在我看来,ORM是模型和数据库包装器之间的冗余抽象层。

大多数框架都有针对不同数据库软件的统一数据库包装器,因此更改软件通常不需要更改代码。

有没有真正的理由使用ORM?这似乎只是增加了一个不必要的步骤。

3 个答案:

答案 0 :(得分:4)

两件事...... ORM是对象关系映射,即将对象和对象类型映射到数据库,不一定向后端提供统一的DAL(数据库Abstracion层)。所以你似乎主要使用DAL而不是ORM。在我工作的地方,我们使用ORM将作业映射到渲染农场,这使我们可以在任意数量的应用程序中访问这些相同的基本对象,而无需以硬形式(数据库除外)存储数据。当您需要以与应用程序无关的方式访问数据并以相同的形式在许多其他应用程序之间共享时,它非常有用。我知道,啰嗦​​ - 希望这有帮助! :)

答案 1 :(得分:2)

ORM的目的是帮助开发人员避免编写大量重复代码以将查询结果集列映射到对象字段,并在将更改的数据保存到数据库时再次返回。

换句话说,ORM主要用于提高开发人员的工作效率。

另见Why should you use an ORM?

答案 2 :(得分:2)

使用ORM的主要原因与非功能性需求有关,这是您需要在不同的RDBMS(Oracle,MySQL,PostgreSQL)之间移植应用程序并减少实现的影响。

如果您不打算在RDBMS之间进行更改,那么您可能不需要ORM,而且您正在为您的应用程序汇总一些复杂性和开销