一些Rails的部分以“Active”开头:
> ActiveRecord
> ActiveModel
> ActiveSupport
而一些Rails的部分以“Action”开始:
> ActionPack
> ActionView
> ActionMailer
这是为什么?为什么他们都不具有相同的前缀?在这种情况下,“活跃”和“行动”是什么意思?
DHH现在正在建设“ActiveJob”,他怎么知道不应该是“ActionJob”?
解决方法
我看的方式,再次这只是我的观点(唯一能给出确认答案的人是DHH :)),
当我看到Action *如ActionPack(ActionView和ActionController是ActionPack的两个主要组件)或ActionMailer时,它们涉及在Rails应用程序中执行的操作,无论是控制器特定操作还是显示特定视图,甚至发送电子邮件.所以Action在这里似乎是准确的前缀,因为这些包表示做某事.
当我看到Active *像ActiveRecord,ActiveSupport或ActiveModel等,它以某种方式涉及为您的Rails应用程序业务逻辑提供一些有用的功能,无论是实用程序方法还是ORM支持类似于附加组件,以方便Rails应用程序开发.
希望在这个问题上看到更多有趣的答案.这是我们可以开始分析的地方.