首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby 2.0中的Gemified Architecture\Design Pattern

Ruby 2.0中的Gemified Architecture\Design Pattern
EN

Stack Overflow用户
提问于 2013-10-17 03:30:09
回答 1查看 243关注 0票数 1

在类似框架的ruby项目中,如何将插件打包为gem,然后在项目中使用它们,最受欢迎的活生生的例子是Rails,但我寻求抽象的概念\实践\设计模式来帮助构建这样的项目架构。

Rails源码太大了,没有map就无法导航。

研究日志:在Rails中,Railities被认为是一个开始探索插件架构如何实现的好地方。

  • 在Ruby1.8中,有一个名为mixology的C扩展,它提供了mix\unmix结构。-在Ruby1.9.*中,人们相信Rails在Ruby2.0中使用了alias_method_chain - prepend关键字是为了解决这样的问题(我假设!)
EN

回答 1

Stack Overflow用户

发布于 2013-10-17 03:43:59

到目前为止,我看到的关于topic的最好的介绍之一是Railscast,Ryan将他的应用程序的某些部分提取到宝石中:

http://railscasts.com/episodes/301-extracting-a-ruby-gem

通常情况下,要使代码易于提取,需要遵循一些规则:

Rails将公共逻辑提取到模块甚至更好地分离服务objects

  • Following原则将使您的单元像possible

  • ALWAYS命名空间一样精简和隔离您关心的问题、服务对象、库等Rails

  • 测试这些单元完全隔离,不要依赖于诸如Rails做依赖注入这样的细节,如果您希望代码可以在Rails context

之外重用,那么在测试和简单地使用Rails助手设计objects

  • Avoid之间的API时,您不会后悔这一点

我希望这些建议能帮助您走上自己的道路:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19412098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档