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