这是因为我注意到当项目的代码规模增长时,你必须拥有可维护的代码。当我最初以过程化方式编写我的应用程序并没有使用任何框架时,仅仅一个月后它就变成了一场噩梦。我完全迷失在一堆意大利面条式的代码行中。我完全没有结构,尽管我非常努力地想实现它。
然后我意识到我必须有结构并正确编写代码。我开始使用CodeIgniter。这真的给了我结构和可维护的代码。许多用户说框架会减慢速度,但我认为他们误解了。代码必须是可维护和易于理解的。
框架+OOP+MVC使我的Web应用程序如此有结构,以至于添加功能不再是问题。
当我创建模型时,我倾向于认为它代表一个数据对象。也许是一个表单甚至是一个表/数据库。所以我想到了ORM(doctrine)。也许这将成为我的Web应用程序的又一个伟大实现,使其更具结构性,以便我可以专注于功能而不是重复自己。
然而,我以前从未使用过任何ORM,而且只学习了它的基础知识,知道为什么使用它很好等等。
所以现在我问所有像我一样追求可维护代码并知道它的重要性的人们,ORM(doctrine)是否像框架+MVC+OOP一样对于可维护的代码必不可少?
我想要更多的生活经验建议,而不是“原始SQL更快”的建议,因为如果我只关心原始性能,我应该在第一时间放弃框架+MVC+OOP,并继续生活在编码噩梦中。
感觉它非常适合MVC框架,其中模型是表格。
现在我有一个文件中有150个SQL查询,做一些简单的事情,例如按ID获取条目,按名称获取条目,按电子邮件获取条目,按X获取条目等等。我认为ORM可以减少这些行,否则我几乎可以肯定,这将在未来增长到1000个SQL行。如果我更改一个列,我必须更改所有列!再次想想都是噩梦。也许这还可以给我很好的符合MVC模式的模型。
ORM是否是实现结构化和可维护代码的正确方式?