Rails开发:Active Model、Active Job与代码优化
在软件开发中,性能和用户体验是两个重要的考量因素。虽然在极少数情况下性能可能会成为问题,但在大多数情况下,我们可以承受一定的开销。接下来,我们将深入探讨Rails开发中的一些关键概念和技术。
1. Active Model:提供类Active Record的体验
Active Model不仅仅是在Action Pack和Action View辅助工具的上下文中定义非持久化模型的机制,它还是提供类Active Record体验的基本元素。它可以为任何数据源提供熟悉的接口,从NoSQL数据库(如Mongoid)到REST API(如Active Resource)。
为什么要模仿Active Record的行为呢?因为所有Rails开发人员都了解Active Record,从最少惊讶原则(软件开发的重要原则之一)的角度来看,利用知名模式是有帮助的。
有一个名为FrozenRecord的工具(https://github.com/byroot/frozen_record),它允许你将以任何格式(如YAML、JSON)存储在文件系统中的静态数据转换为可查询的虚拟数据库,并通过类Active Record的模型进行访问。
2. 寻找上帝对象
Active Record是Rails中最大的部分,其代码库中的文件数量(超过1000个)和代码行数(超过100000行)是第二大部分Action Pack的两倍。由于其背后有大量的机制,它为开发人员提供了数十个API供其在应用程序中使用。
因此,继承自Active Record的模型往往承担着许
超级会员免费看
订阅专栏 解锁全文
31

被折叠的 条评论
为什么被折叠?



