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