依存オブジェクトを削除/削除しないロジックはDDDに属していますか?例えばドメイン駆動設計(DDD)で依存オブジェクトを削除するロジックはどこにありますか?
1は、製品が含まれているカテゴリがあります。
class Category
{
IList<Products> products;
}
ルールは、それが何の製品を持っていない場合を除き、カテゴリが削除できないことかもしれません。
ロジックはどこに属しますか?削除する前にこのカテゴリの製品がないことを確認しますか?
- ドメインクラス - ビジネスロジックと思われるので、ドメインレイヤに属していると推測します。
- リポジトリクラス - リポジトリレイヤは永続性を処理します。削除のためのCRUDメソッドを含む一般的なCRUDメソッドがあり、ロジックはこのレイヤに属していますか?
- 別の解決策はありますか?
"return!category.HasProducts;"おそらく? –
@Bryan Watts、OT&FYI:読まれるべきであり実行されないコードを書くとき、私はしばしば "!x"の代わりに "x == false"を使うことを好む。 「カテゴリには商品がありません」という表現は、「カテゴリには商品がありません」というよりも、「偽の商品になります」と読む方が良いと思います。ただ個人的な好み。現実のシナリオでは、私は!category.HasProductsを使用します。 –
@KevinSwiber私はこれが古い投稿だと知っていますが、あなたが提供したコードはどこに置かれるべきですか?ドメイン層またはサービス層?ありがとう –