设计评论系统的正确方法是什么?

时间:2018-12-20 19:47:12

标签: inheritance comments

我正在建立一个包含图片,帖子,相册等的网站...

每个人都可以发表评论。

这些评论之间唯一真正的区别是,一个将是帖子评论,一个将是专辑评论,一个将是图片评论,等等...

如果这是这些注释之间的唯一区别,那么值得拥有子类,例如PostComment,AlbumComment,PictureComment,它们都从Comment继承吗?它们都具有相同的字段,只是一个字段将它们彼此区分开。

那是矫kill过正吗?

1 个答案:

答案 0 :(得分:0)

我不会说确实有一种“正确”的方法,因为这取决于您的特定用例。我个人不会说每个PostCommentPictureComment的子类都是过大的,因为每个子类与主Comment类都有不同的字段。如果选择类,以这种方式继承将很好地解决该问题。它清楚地表明了每个子类的独特之处以及它们之间的共享。

话虽如此,我可能会改为选择数据库表关联,只需将Comments表与PicturesPosts表并排。然后,您可以简单地在type表上设置Comments列,该列是映射到相关表的外键。