在设计、实施和维护 CRUD 上所付出的努力
Posted
技术标签:
【中文标题】在设计、实施和维护 CRUD 上所付出的努力【英文标题】:Effort Spent on Designing, Implementing and Maintaining CRUD 【发布时间】:2008-10-28 11:43:13 【问题描述】:您在数据访问层中实现和维护简单的创建、读取、更新和删除 (CRUD) 方法上花费了多少百分比的开发工作?
迁移到像 Hibernate 或 Entity Framework 这样的 ORM 是否会带来显着的节省? 当您的数据访问层迁移到 ORM 是一个不错的选择时,是否有任何设计异味让您知道?
亲切的问候, 阿什什
【问题讨论】:
【参考方案1】:最近花费了荒谬的小时数(可能大约 40%)来复制 ORM 在几分钟内完成的工作,我不得不说,只要您可以允许经过良好测试的框架生成(并维护!)基本 CRUD操作,让它做吧!
让框架做它擅长的事情。将时间花在真正增加价值的应用程序部分,即您正在解决的业务问题上。只有当框架不足时,您才真正考虑解决它。 “功亏一篑”可能包括性能,但通常框架内有“钩子和旋钮”让你做你需要完成的事情。
实施/设计气味:当您第 40 次编写“StoredProcedureWrapper”或通过捕获 DAO 输出实现查询结果缓存时,您可以/应该使用 ORM
对于 Ruby/Rails 或 Groovy/Grails 类型的框架,我看不出真正的理由不从 ORM 层开始,因为这两种环境都会为您生成域。 p>
使用 Spring/Hibernate 稍微复杂一些,但仍然省去了很多非常相似的小类的手工编码。
我还在过去 10 年左右的几个项目中发现,如果我们没有开始使用 ORM,我们最终会开发或“窃取”JDBC 框架或其他脚手架代码,这些代码再次重复了很多内容ORM 可以帮你。
【讨论】:
以上是关于在设计、实施和维护 CRUD 上所付出的努力的主要内容,如果未能解决你的问题,请参考以下文章