0

私は3つのテーブルを持っています:

役職

カテゴリー

PostCategory(多対多の関係テーブル)

ユーザーが投稿に対して1つ以上のカテゴリを選択すると、正常に機能します。しかし、1つのシナリオは、ユーザーがカテゴリを選択しなかった場合、これらのカテゴリ化されていない投稿を管理するにはどうすればよいですか?

私は2つの方法を考えました、どちらが良いかわかりません。

1.未分類の投稿は[PostCategory]に挿入しないでください。

問題:

a)URLルートで、「/ Post / Category/Travel」を使用して分類された投稿を表示します。これで、ユーザーは分類されていないすべての投稿を一覧表示したいので、「/ Post / Category/Uncategorized」のようなものしか使用できません。これにより、「未分類」の文字列と通常のURLルート値を区別するために、多くのコードが変更されます。

b)ユーザー自身が「未分類」というカテゴリをシステムに追加すると、混乱が生じます。(システム予約語を定義できるかもしれませんが、それは良いことではないと思います。)

2.システム予約語として、[Category]に定数値(Uncategorized)を追加します。ユーザーがどのカテゴリも選択しない場合は、投稿をPostCategory(postId、UncategorizedId)に挿入します。

問題:

「未分類」をカテゴリと見なします。これは、コンピュータにとって通常のカテゴリを意味します。これが特別なカテゴリであることを知っているのは人間だけです。OOP設計では良くありません。

どちらが優れているかを判断するのは難しいですが、「未分類」の投稿を管理する他の方法はありますか?

4

2 に答える 2

1

解決策(2)では、1つの投稿を分類および非分類の両方にすることができます。したがって、純粋にデータの一貫性の観点からは、(1)がより優れたソリューションです。

コードの変更の複雑さについてはコメントできませんが、一般的なガイドラインとして、よりクリーンなコードとよりクリーンなデータのどちらかを選択する場合は、よりクリーンなデータを選択してください。

于 2012-09-21T11:07:07.260 に答える
0

次に、データの一貫性タグのインデックス作成の利点、および独自の健全性を維持するために、すべてのエントリにタグを付けて分類する必要があります。設計またはその他の制約がない限り、これはオプションではありません。このサイトを例にとってみましょう。StackOverflowでは、タグなしでここに質問を投稿することはできません。コンテンツにタグを付け、それらのタグにインデックスを付けることで、(少なくとも)パフォーマンス上の利点が得られます。

于 2012-09-22T03:00:12.733 に答える