0

我有 3 张桌子:

邮政

类别

PostCategory(多对多关系表)

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

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

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

问题:

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

b) 当用户自己在系统中添加一个名为“Uncategorized”的类别时会造成混乱。(可能我可以定义一些系统保留字,但我觉得不太好。)

2.在[Category]中添加一个常数值(Uncategorized),也作为系统保留字。如果用户没有选择任何类别,则将帖子插入 PostCategory(postId, UncategorizedId)。

问题:

它将“Uncategorized”视为一个类别,对计算机来说是一个正常的类别,只有人类知道这是一个特殊的类别。在OOP设计中不好。

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

4

2 回答 2

1

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

我无法真正评论代码更改的复杂性,但作为一般准则,在更清洁的代码和更清洁的数据之间进行选择时,更喜欢更清洁的数据。

于 2012-09-21T11:07:07.260 回答
0

Then for the sake of data consistency, indexing benefits on tags,and to preserve your own sanity, every entry must be tagged/categorized. Unless by your design or some other constraints, this is not an option. Take this very site for example. StackOverflow won't let you post a question here without a tag. You will gain performance benefits (at least) from tagging your content and indexing those tags.

于 2012-09-22T03:00:12.733 回答