初学rails,查看源码和helper,其中框架绝大部分的类和方法都是被module包含,app也是以app名称命名的module包含,为什么要这样做呢?难道纯粹的ruby类不能很好的组织文件吗?为什么要这样一层一层的包含呢?
module ActionView # = Action View Form Helpers module Helpers #.... end end
Moduel 是 Ruby 语言本身一个非常重要的特性。
- Ruby 本身使用 Module 和 Mixin 机制实现了类似多重继承的效果。
- Module 中一层一层的包含其实也起到了命名空间的作用。
- Module 确实是按照功能组织代码的良好方式。