Gem 为什么很多 Ruby Gem 命名都已 Active 开头?

Folyd · 2019年02月03日 · 最后由 indicolite 回复于 2019年02月07日 · 771 次阅读

就我知道的就有Active Record, Active Merchant等等。

共收到 8 条回复

我感觉这你得问 DHH

ecnelises 回复

DHH有没有相关的博客或文章讲到这一点?

😄 因为A开头的单词会排在列表前面

你说的是rails,不是ruby

好像 active record是一种orm的实现

ActiveDHH 😎

8楼 已删除

以下内容贴自维基百科

https://zh.wikipedia.org/wiki/Active_Record

Active Record是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录。Active Record和Row Gateway十分相似,但前者是领域模型,后者是一种数据源模式。关系型数据库往往通过外键来表述实体关系,Active Record在数据源层面上也将这种关系映射为对象的关联和聚集。在Martin Fowler2003年出版的《企业应用架构模式》一书中详细叙述并命名了本模式。[1]

Active Record适合非常简单的领域需求,尤其在领域模型和数据库模型十分相似的情况下。如果遇到更加复杂的领域模型结构(例如用到继承、策略的领域模型),往往需要使用分离数据源的领域模型,结合Data Mapper(数据映射器)使用。

Active Record驱动框架一般兼有ORM框架的功能,但Active Record不是简单的ORM,正如和Row Gateway的区别。著名的例子是全栈(Full Stack)Web开发框架Ruby on Rails,其默认使用一个纯Ruby写成的Active Record框架来驱动MVC中的模型层。

  1. Fowler, Martin. Patterns of enterprise application architecture. Addison-Wesley. 2003. ISBN 978-0-321-12742-6.
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册