代码之家  ›  专栏  ›  技术社区  ›  Dru

用于模型共享的模型体系结构/设计模式

  •  0
  • Dru  · 技术社区  · 12 年前

    我正在构建一个使用twitter和facebook API的应用程序。

    我打算将每条推文或状态存储在它自己的模型中,让我们调用模型 Tweet Fb_Status 。我打算创建一个更通用的模型,其中包含两者的文本内容,我们称之为 Statement

    我应该如何设计它?

    验收标准如下:

    • Statement.all 返回具有两个属性的记录 message word_count 这个 消息 继承自 推特 Fb_状态 ,以声明所代表的为准,而 单词计数 是的唯一属性 陈述 模型
    1 回复  |  直到 12 年前
        1
  •  1
  •   Stephan    12 年前

    既然您已经用RubyonRails标记了这个问题,我想您想知道Rails可能需要提供什么来解决这个问题。

    当然,只要使用Ruby,就可以使用类继承来获得对象所需的行为。除此之外,Rails提供了单表继承(STI),它将共享某些功能的所有模型映射到一个数据库表。 Discussion of STI

    STI有它的局限性,这就是为什么你可能不想使用它。相反,你可以将不同的模型映射到不同的数据库表。Rails不直接支持这一点,但这里有一个 discussion of multiple table inheritance (MTI)