在类似框架的ruby项目中,如何将插件打包为gem,然后在项目中使用\ unuse它们,最流行的生活示例是Rails,但我寻求抽象概念\实践\设计模式可以帮助建立这样的项目架构。
如果没有地图,Rails源代码很难导航。
研究日志: - 在Rails中,Railities被认为是开始探索如何实现插件架构的好地方 - 在Ruby 1.8中,有一个名为mixology的C扩展,它提供了mix \ unmix结构。 - 在Ruby 1.9。*中,相信Rails使用了alias_method_chain - 在Ruby 2.0中,prepend关键字在解决此类问题时非常有用(我假设!)
答案 0 :(得分:1)
到目前为止,我见过的最佳主题之一是Railscast,其中Ryan将他的应用程序的一部分提取到一个宝石中:
http://railscasts.com/episodes/301-extracting-a-ruby-gem
通常,要使代码易于提取,遵循的规则很少:
我希望这些建议会让你自己成为Rails:)