質問
ここでDDDを初めて使用し、アーキテクチャの質問がありますが、これは典型的な問題です。
StockItemエンティティとStoreエンティティがあります。 StockItemを複数のストアに割り当て、ストアごとに異なるParLevelsを設定します。次に、さまざまな店舗で手持ちの数量を調整するトランザクション(販売、購入、譲渡など)が必要です。
このソリューションをモデル化する好ましい方法は何ですか?私のデータベースでは、次の単純化されたテーブル構造になります。 [StockItem] StockItemID pk、 名前
[ストア] StoreID pk、 名前
[Store_StockItem] StoreStockItemID pk、 StoreID fk、 StockItemID fk、 ParlLevel、 QuantityOnHand
[StockItemTransaction] StockItemTransactionID pk、 StockItemStoreID fk、 StockItemTransactionTypeID fk、 数量
アドバイスは大歓迎です
解決
ドメインドリブンデザインの全体的なポイントは、特定のビジネスドメインがオブジェクトモデルをガイドすることであるため、ここの誰かが本当にあなたに望む答えを与えることができるとは思いません。
私が提供する唯一のアドバイスは、ドメインで作業するときに、データベースがこれらの関係をどのようにモデル化するかについて心配するべきではないということです。正規化のルールに従ってデータベースを正規化し、実際のビジネスドメインに従ってドメインモデルを作成する必要があります。
データモデルとドメインモデルは互いに1対1の方法でマッピングされないことに注意してください。