ASP.NETMVCアプリケーションがあります。モデルをシステムの「エンティティ」と考えるのは正しいですか?
おそらくこれはモデルの「タイプ」(ビューまたはドメイン)に帰着します-そしてそれらがドメインモデルである場合、それらはエンティティと同等ですか?
編集:私は、私たちのプロジェクトに「エンティティ」の命名法を導入することが有用か、それとも混乱を招くかを判断するために質問をします。
ASP.NETMVCアプリケーションがあります。モデルをシステムの「エンティティ」と考えるのは正しいですか?
おそらくこれはモデルの「タイプ」(ビューまたはドメイン)に帰着します-そしてそれらがドメインモデルである場合、それらはエンティティと同等ですか?
編集:私は、私たちのプロジェクトに「エンティティ」の命名法を導入することが有用か、それとも混乱を招くかを判断するために質問をします。
私に関する限り、あなたはそれを釘付けにしました。ビューモデルとドメインモデルの違いは正しいです。ドメインモデルは、エンティティと同等であると見なすことができます。
2番目の質問に答えるために、エンティティの命名法をプロジェクトに導入する必要はないと思いますが、これがあなたのやりたいことである場合、それほど混乱することはないと思います。私は通常、ドメインモデルを別のプロジェクトに移動します。ビューモデルを保持するためにストックモデルフォルダを使用します
【編集】以下のコメントをもとに、一つ明確にしたいと思いました。特にEntityFrameworkのコンテキストでは、ドメインモデルにはDBエンティティ以上のものが含まれます。たとえば、住所を表すカスタムタイプ(住所1/2/3、市区町村、都道府県、郵便番号など)も、Entity Frameworkによって「Entity」という名前が付けられていなくても、ドメインモデルになります。
ウィキペディアが主題について言っていることを言い換えると、エンティティは、その属性ではなく、継続性とアイデンティティのスレッドによって定義されるドメインモデル内のオブジェクトです。
私の理解は、エンティティのアイデンティティであり、独自性はその決定的な品質です。2つのエンティティが同じIDを持つことはできません。
エンティティはドメイン モデルですが、ドメイン モデルは必ずしもエンティティである必要はありません。クレジット カード、住所、日付、通貨などの価値オブジェクトもドメイン モデルです (またはそうなる可能性があります)。