jef*_*eon 6 oop orm database-design domain-driven-design
我对软件开发世界相对较新.我目前正在进行一个相当大的项目,它是一个不错的OO代码 - 主要遵循领域驱动设计原则.然而,通常这在理论上听起来很棒,实际上整个对象关系阻抗非常糟糕,这意味着只使用ORM层系统的某些部分很慢,除非我们编写优化的SQL查询来覆盖这些情况.此外,有时我们似乎陷入困境,试图看看我们是否应该根据SQL的性能与OO原则对域进行建模.
这让我问这个 - 这是大多数应用程序的构建方式吗?含义 - 是的,面向对象很好 - 但是我发现很难相信与这个对象关系不匹配相关的所有问题,这是构建应用程序的最佳方式吗?我能想到的替代方法是抛弃ORM并进行域建模,并直接手动编写本机SQL查询.我想知道是否实际上有这种方式构建了足够大小的软件系统.
如果我听起来很吵,我很抱歉 - 但我是新人,想知道其他方法是什么.
两者都可以使用。
老实说,对于简单的单记录修改和视图(包括相关实体的显示),ORM 生成的代码与我手写的代码几乎相同。所以好处当然是我不了。另外,较小的架构修改也可以得到妥善处理。
对于其他一切,简单的 SQL 才是王道。
我认为任何可以生成的代码都应该生成,只要它不会生成明显不标准的版本。我认为这是我的关键点:应用程序的大量数据库代码可以通过 ORM 进行处理,并且仍然与数据库专家编写的手工 SQL 代码一样出色地执行。
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |