Ruby on rails 如何在RubyonRails中实现插件架构?
我必须在RubyonRails上建立一个社交网站。现场的特征可能会不时发生变化;因此,我们需要轻松地添加/删除功能。此外,我们可能正在建设另一个社交网站。由于这些原因,我们正在考虑为RoR中的社交网站构建一个基本框架,该框架具有安装或卸载框架扩展的功能 我以前在Joomla工作过!CMS及其用于添加/删除扩展的体系结构正是我所关注的。在乔姆拉!安装通常有一个管理员端,您可以从中添加/删除/自定义扩展Ruby on rails 如何在RubyonRails中实现插件架构?,ruby-on-rails,architecture,social-networking,plugin-architecture,plug-and-play,Ruby On Rails,Architecture,Social Networking,Plugin Architecture,Plug And Play,我必须在RubyonRails上建立一个社交网站。现场的特征可能会不时发生变化;因此,我们需要轻松地添加/删除功能。此外,我们可能正在建设另一个社交网站。由于这些原因,我们正在考虑为RoR中的社交网站构建一个基本框架,该框架具有安装或卸载框架扩展的功能 我以前在Joomla工作过!CMS及其用于添加/删除扩展的体系结构正是我所关注的。在乔姆拉!安装通常有一个管理员端,您可以从中添加/删除/自定义扩展 我是RoR的新手,发现决定如何做有点困难。任何帮助都将不胜感激。2015年更新:这一问题在200
我是RoR的新手,发现决定如何做有点困难。任何帮助都将不胜感激。2015年更新:这一问题在2009年得到了回答,但发生了很大变化 插件已经被Gems和引擎所取代 有关发动机所需的所有信息: 引擎是为rails应用程序构建封装和可重用代码的绝佳方式 原始答案供参考 在开发方面,Rails引擎和/或插件可能是您想要的 例如,假设您的社交网络应用程序有一个wiki、博客、聊天室等。您很可能希望创建一个wiki引擎、博客引擎和聊天室引擎 引擎允许您在不同的应用程序中重复使用这些功能,因此您不必重复自己的操作 看看: 我还建议大家看看github上的一些公共项目,看看人们是如何使用引擎的 看看一些发动机:
HTH引擎仍然是一条非常坚实的道路,获取引擎信息的新位置位于此处: 但您需要的是更具体的应用程序。随着时间的推移,许多应用程序会有机地开发这些东西。他们首先手工制作其中一些,然后定期重新考虑,直到找到与软件设计模式一致的模式,然后开发插件框架 您是否要向最终用户公开您的界面?给第三方开发者?应用程序的哪些部分由这些插件控制?它只是表示层吗?它会影响数据模型吗?考虑一下当你发布任何一种外部接口时,你正在开发你需要遵守的合同。
您可以查看以下设计模式:。它们将帮助您了解如何管理您的开发过程。如果你只是在开发内部使用的插件,那么它们的真正用途是什么?是什么使它们与模块不同?Rails的级别比Joomla低一点。。。您可能需要自己构建一些基础设施,或者使用现有的Rails应用程序。@Toby-可能正在更新您的评论。我同意你的看法,Rails绝对是@Shree级别较低的-请看一些可以做的示例,特别注意Redmine和ADVA CMS