2010-10-01 62 views
0

任何人都可以告诉我'什么是教义不好?请描述一个我们绝对不会使用Doctrine的场景。主义及其用法

+3

我不会使用Doctrine进行任何不需要ORM的任务 – Mchl 2010-10-01 09:06:24

+1

为什么不告诉我们关于您正在考虑使用Doctrine的场景?正如现在所说,这很难回答:我不如回答“屏幕抓取外部网站” - 我很难想象在这里使用Doctrine的方式(以及为什么)(除非您想保存刮掉的内容数据到数据库):) – jensgram 2010-10-01 09:07:13

+0

嗯,太慢了。我认为@Mchl指甲:) – jensgram 2010-10-01 09:07:45

回答

4

这绝对是一个'ORM或否'?讨论。我认为既有架构又有性能方面的原因,不要使用Doctrine。

ORM的要点是将数据库表结构转换为您的应用程序的对象图。如果您的数据旨在表示或“模型化”对象或对象之间的关系(用户,购物车,订单等)。那么ORM是一个有价值的工具。

但是,如果您的应用程序使用表格数据,并且没有严重的impedence mismatch,那么Doc​​trine可能不是正确的方法。例如,如果我的应用程序是用于处理大量日志文件的,那么ORM可能是矫枉过正的。另外,如果你的数据库高度不规范化,ORM可能不适合你。

还有性能方面的考虑。 ORM往往比使用裸机SQL慢。 Doctrine还有一个习惯,即构建非常大的对象图,而不是占用大量内存。一次处理数以千计的数据库行或大量插入,更新或删除并非绝对不是well suited。如果你要处理大量的数据库事务,ORM可能不适合你。

我的理念是,一个ORM是一个非常有用的工具,直到它变得太痛苦使用。如果您根本无法从使用Doctrine中获益,那么您可能已经知道了。