0

ドメインにProductエンティティがあり、IsFavoriteとIsHiddenの2つのプロパティがあります。

各ユーザーは、お気に入りにする製品、非表示にする製品、または以前の製品を選択しない製品を選択できます。

「マークされた非表示」の商品を含まず、すべてのお気に入りの商品の近くに「星」が付いた商品リストをユーザーに提供する必要があります。

私の頭の中には、「Product」と「Product_User」の2つのテーブルがある写真があります。

「Product_User」スキーマには、ProductId、UserId、IsFavorite、IsHidden、

それが正しいか?

クエリ時間中に、非表示の製品を除いてProductテーブルをクエリする必要があります(したがって、前にProduct_Userテーブルをクエリする必要があります)。次に、お気に入りの各製品にマークを付けます。

4

1 に答える 1

0

DDDを実行する場合、データベースがないため、スキーマやテーブルなどはありません。特定の制限されたコンテキストの問題をモデル化するドメインモデルのみがあります。

ドメインレベルでは、BoughtProductsCollectionオブジェクトの一部であるBoughtProductオブジェクトのProductImpression(最適な名前ではありません)プロパティを持つことができるため、あなたの質問は明らかにdbスキーマに関するものだと思います。もちろん、私はドメインについて多くの詳細を知らないので、これらは野蛮な推測に基づく提案です。

スキーマとして、私はあなたが思ったのと同じようなことを言うでしょう。列を含むテーブル:Id、ProductId、UserId、ProductImpression。

このスキーマには、スキーマを変更しなくても、将来的にステータスを追加できるという利点があります。

于 2012-04-14T13:36:14.503 に答える