在类似框架的 ruby 项目中,如何将插件打包为 gem,然后在项目中使用\不使用它们,最流行的活生生的例子是 Rails,但我寻求可以帮助构建的抽象概念\实践\设计模式这样的项目架构。
Rails 源代码太大而无法在没有地图的情况下导航。
研究日志: - 在 Rails 中,Railities 被认为是开始探索如何实现插件架构的好地方。
- 在 Ruby 1.8 中,有一个名为 mixology 的 C 扩展,它提供了 mix\unmix 结构。- 在 Ruby 1.9.* 中,据信 Rails 使用了 alias_method_chain - 在 Ruby 2.0 中 prepend 关键字用于解决此类问题(我假设!)