代码之家  ›  专栏  ›  技术社区  ›  Adam Taylor

是否有可能/建议编写可重用的ruby on rails应用程序?

  •  0
  • Adam Taylor  · 技术社区  · 15 年前

    我有一个关于大型web应用程序的想法,在我看来,它实际上是一些相当独立的应用程序“组件”(?),如论坛、博客等。

    在我看来,为其他人或将来的我自己开放一些单独的组件是很好的。

    现在很明显,我可以编写一个基本的论坛,让代码可用,然后将其复制到我的大型应用程序中,并对其进行扩展/集成。不过,这感觉不太干燥。在理想的情况下,我可以在一个地方维护代码,并将其放入更大的应用程序中。

    铁轨似乎包括 engines ,这听起来像是解决了我的问题,但似乎我想做的是 bad idea !

    我也应该……

    a)只需构建一个大型耦合应用程序。
    b)创建一个rails论坛应用程序(例如),发布它,然后将其合并/复制到我的主应用程序中
    c)使用发动机
    D)其他…

    干杯,

    亚当

    2 回复  |  直到 11 年前
        1
  •  1
  •   EmFi    15 年前

    这个警告只是本大叔的标准推论。从“拥有强大的力量,也会带来巨大的责任”到“仅仅因为你可以,并不意味着你应该”。

    然而,仅仅因为引擎有很多用途是坏主意,这并不意味着它是在你的情况下。博客和论坛是两个相当独立的组件,它们已经作为使用引擎的插件产生了。你甚至不需要做。

    在我看来,如果你打算重用一个功能组件,你可以将它与应用程序的其他部分分离开来,那么这就足够充分的理由使它成为一个插件,不管它是否依赖引擎。

    我的经验是,这些插件是从我编写的现有应用程序代码中成长起来的。作为应用程序的一部分构思、编写和测试它们要比单独使用它们容易得多。作为微型应用程序的引擎,构建和测试并没有那么难。

    简而言之。只有你才能决定哪条路径是最好的,因为你最熟悉你的应用程序的目标。在开始之前,先看看其他人对引擎和插件做了什么。您要生成的组件可能已经存在。

    为了回答这个问题,我可能会先构建一个应用程序,然后提取出在其他应用程序中可能有用的部分,并在它们成熟时将它们抽象成[引擎]插件。

        2
  •  0
  •   Tom Prats    11 年前

    你可能在寻找git子模块。我对它们一无所知,但你可以在git repo中使用git repo。而且你可以很容易地更新你所有的内部git回购协议。 Here's an article 谈论它。