我正在建立一个包含图片,帖子,相册等的网站...
每个人都可以发表评论。
这些评论之间唯一真正的区别是,一个将是帖子评论,一个将是专辑评论,一个将是图片评论,等等...
如果这是这些注释之间的唯一区别,那么值得拥有子类,例如PostComment,AlbumComment,PictureComment,它们都从Comment继承吗?它们都具有相同的字段,只是一个字段将它们彼此区分开。
那是矫kill过正吗?
答案 0 :(得分:0)
我不会说确实有一种“正确”的方法,因为这取决于您的特定用例。我个人不会说每个PostComment
,PictureComment
的子类都是过大的,因为每个子类与主Comment
类都有不同的字段。如果选择类,以这种方式继承将很好地解决该问题。它清楚地表明了每个子类的独特之处以及它们之间的共享。
话虽如此,我可能会改为选择数据库表关联,只需将Comments
表与Pictures
和Posts
表并排。然后,您可以简单地在type
表上设置Comments
列,该列是映射到相关表的外键。