【发布时间】:2010-08-03 18:00:00
【问题描述】:
我必须准备一个案例来说服经理使用 ORM 来促进开发。在这种情况下,我不想详细介绍技术细节,好处必须对业务人员可见。
到目前为止,我对自己写下的论点不太满意。有没有我忘记的要点,无论是 PRO 还是 CONTRA?
我要说明的情况有两点:
- 说服经理使用 ORM
- 说服经理使用 NHibernate
ORM 的专业人士:
- 解决具有行为的连接对象的丰富生态系统与标量值的表格列表之间的阻抗不匹配
- 更高的工作效率 => 减少编写繁琐的数据访问代码的时间,让您更专注于解决“真正的”业务问题
- 更高的可维护性 => 减少 LOC 的数量 == 系统更容易理解(嗯……也许……)
- 正确使用几乎不会影响性能
ORM 的 CONTRA:
- O/R 映射工具在批量处理数据时表现不佳。存储过程可能具有更好的性能,但不可移植
- 严重依赖 ORM 软件已被认为是产生设计不佳的数据库的主要因素
NH 的专业人士:
- 非常成熟的产品
- 支持许多 DB => 开发人员不必在每个其他项目中学习新的 SQL 方言
- 在 .net 社区领导者中的高度评价
- 许多示例、文章、博客文章
- 它是开源的
NH 的 CONTRA:
- 根本不适合批处理
- 没有代码生成或代码设计器 => 有些人认为这可以提高开发人员的工作效率
- 由于延迟编码导致声誉不佳(== 滥用延迟加载)
- 不是来自 Microsoft
- 它是开源的 => 有些公司就是不喜欢它
【问题讨论】:
-
"•正确使用时几乎不会影响性能" 几乎从来没有正确使用。
标签: nhibernate