banner
指数爆炸

指数爆炸

我做了对饭 !
github
bilibili

架構設計におけるさまざまなデータモデルの詳細解説【PO、VO、BO、充血モデル ……】

これらの混乱したデータモデルに接触したとき、本当に混乱しました。アーキテクチャを設計する際も混乱していて、データモデルに基づいて対応するパッケージ名をどう取得するか分かりませんでした。私はネット上のさまざまな資料を調べましたが、誰も分かりやすく説明していませんでした。それで、自分の経験に基づいて整理しました。

500

  • POJOplain old java object】普通の Java オブジェクトで、他のデータモデルの基礎として使用できます。
    • VOvalue object】 :値オブジェクトは不変のオブジェクトで、唯一の ID 識別子を持たない、一組の値を表すために使用されます【つまり、2 つの値オブジェクトの属性が同じであれば、それらは等しいと見なされます
      • 簡単なビジネスロジック操作を含むことができます。
      • VO では通常、値に基づいて比較できるように equals と hashCode メソッドをオーバーライドします。
    • PO / エンティティEntity】 :エンティティは唯一の ID 識別子を持つ必要があります。つまり、2 つのエンティティの属性値が同じであっても、それらは等しくありません;PO はデータベーステーブルにマッピングされた Java オブジェクトです【したがって、PO とエンティティは同じ概念と見なすことができます
    • DTOdata transfer object】:DTO は異なる層間でデータを転送するために使用されます。
      • いかなるビジネスロジックも含まれていません。
    • 充血モデル :充血モデル = PO + ビジネスロジック、もしある PO にビジネスロジックが含まれているなら、それは充血モデルです
      • BOBusiness object】:ビジネスオブジェクトはビジネスロジックを含みます。
        • サービス層でのみ使用されます。
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。