评论系统设计
|
这是我当前的评论系统设计:
我正在为一个包含许多领域,博客,教程,手册等的网站进行开发。应该为每个(
tblBlogComments
,tblTutorialComments
)等创建一个单独的注释表,因此,我试图一种结构适合所有方法。
这样,我可以将评论系统变成一个Web控件,然后将其放在我要评论的任何页面上。这意味着我只有一组规则,需要维护一组代码文件。
唯一的问题是,想出一种“好”的方法来确定哪个部分(博客/教程/手册)属于。
例如,一种解决方案是:
tblComment
-------------
Section (int)
SectionIdentifier (int)
\'Section
\'映射到网站每个部分的唯一位置,例如EG:
Blog = 1
Articles = 2
Tutorials = 3
...
“ѭ5”是该页面的某种唯一ID,例如:
ViewBlog.aspx?ID=5
这将是第1部分,标识符5。因此,现在带有Section = 1
,SectionIdentifier = 5
的注释表示它是对博客条目5的注释。
这很有效,但是以可维护性和结构为代价,因为ѭ5是匿名的,无法建立任何关系。
这种设计是否可行,还是有更好的解决方案(例如,某种形式的父表进行注释?)
没有找到相关结果
已邀请:
4 个回复
诫商
体悉
因此,您将拥有: 节表(例如博客,文章,教程等) 一个Post表(用于每个部分中的各个帖子) 评论表(用于每个帖子的评论) 每个帖子都将引用该帖子的部分,每个评论都将引用其帖子。 DB可以将引用作为漂亮,干净的外键,并且类可以在应用需要时在关系的一侧或两侧具有列表。 对我来说,这似乎是一个不错的,简单的,灵活的结构,它不会使事情复杂化,但仍然允许您悬挂其他内容,例如对其进行编辑和投票。
骨酚柯
蕾跨立锌煤
还有一个只知道如何处理IComment的WebControl
当然,您需要一个CommentCreater来从数据库中加载评论数据并构建评论对象。
这样,您的Web控件就可以以相同的方式处理所有类型的注释。无论是什么样的评论。您也可以维护CommentCreater来正确构建各种注释类。