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】:ビジネスオブジェクトにはビジネスロジックが含まれています
        • サービス層でのみ使用されます
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。