3

您在数据访问层中实现和维护简单的创建、读取、更新和删除 (CRUD) 方法上花费了多少百分比的开发工作?

迁移到像 Hibernate 或 Entity Framework 这样的 ORM 会带来显着的节省吗?当您的数据访问层迁移到 ORM 是一个不错的选择时,是否有任何设计异味让您知道?

亲切的问候,阿希什

4

1 回答 1

5

最近花了荒谬的小时数(可能大约 40%)来复制 ORM 在几分钟内完成的工作,我不得不说,只要您可以允许经过良好测试的框架生成(并维护!)基本的 CRUD 操作,让它做它!

让框架做它擅长的事情。将时间花在真正增加价值的应用程序部分,即您正在解决的业务问题上。只有当框架不足时,您才真正考虑解决它。“功亏一篑”可能包括性能,但通常框架内有“钩子和旋钮”让你做你需要完成的事情。

实现/设计气味:当您第 40 次编写“StoredProcedureWrapper”或通过捕获 DAO 输出实现查询结果缓存时,您可以/应该使用 ORM

对于 Ruby/Rails 或 Groovy/Grails 类型的框架,我看不出从 ORM 层开始的真正理由,因为这两种环境都会为您生成域。

使用 Spring/Hibernate 会稍微复杂一些,但仍然省去了很多非常相似的小类的手工编码。

在过去 10 年左右的时间里,我还在几个项目中发现,如果我们没有开始使用 ORM,我们最终会开发或“窃取”JDBC 框架或其他脚手架代码,这些代码再次复制了 ORM 的很多功能我懂了。

于 2008-10-28T12:21:47.957 回答