如何为博客系统设计未分类的帖子

时间:2012-09-21 01:32:35

标签: oop database-design url-routing blogs ooad

我有3张桌子:

发表

分类

PostCategory (多对多关系表)

当用户为帖子选择一个或多个类别时,它可以正常工作。但有一种情况是,当用户没有选择任何类别时,我该怎么做才能管理这些未分类的帖子?

我想到了两种方式,我不知道哪种方式更好。

1。不应将未分类的帖子插入[PostCategory]。

问题:

a)在URL Route中,我使用“ / Post / Category / Travel ”来显示分类的帖子。现在用户想要列出所有未编排的帖子,我只能使用“ / Post / Category / Uncategorized ”之类的内容。这将导致许多代码更改,以便从正常的URL Route值告诉“Uncategorized”字符串。

b)当用户自己在系统中添加一个名为“Uncategorized”的类别时,这将是一个混乱。 (可能我可以定义一些系统保留字,但我不认为这很好。)

2。将常量值(未分类)添加到[类别],也作为系统保留字。如果用户没有选择任何类别,请将帖子插入PostCategory(postId,UncategorizedId)。

问题:

它将“Uncategorized”视为一个类别,它意味着计算机的正常类别,只有人类知道这是一个特殊的类别。 OOP设计并不好。

很难确定哪一个更好,有没有其他方法可以管理“未分类”的帖子?

2 个答案:

答案 0 :(得分:1)

解决方案(2)允许单个帖子 分类和未分类。纯粹从数据一致性的角度来看,(1)是一个更好的解决方案。

我无法评论代码更改的复杂性,但作为一般指导原则,在更清晰的代码和更干净的数据之间进行选择时,更喜欢更清晰的数据。

答案 1 :(得分:0)

然后,为了数据一致性对标记的索引优势,并保持自己的理智,每个条目必须标记/分类。除非您的设计或其他一些限制因素,否则这不是一种选择。以这个网站为例。 StackOverflow不允许您在没有标签的情况下发布问题。您将通过标记内容并为这些标记建立索引来获得性能优势(至少)。

相关问题