banner
指数爆炸

指数爆炸

我做了对饭 !
github
bilibili

詳解架構設計中的各種數據模型【PO,VO,BO,充血模型 ……】

當接觸到這些亂七八糟的數據模型時,真的一頭霧水,在設計架構時也亂七八糟,不知道怎麼根據數據模型取對應的包名,我也是翻閱了網上的各種資料,沒有人說的通俗易懂,那我就自己根據經驗整理了一下

500

  • POJOplain old java object】普通 Java 對象,可以作為其他數據模型的基礎
    • VOvalue object】:值對象是不可變的對象,沒有唯一 ID 標識符,用於表示一組值【意味著如果兩個值對象的屬性相同,那麼它們就是相等的
      • 可以包含簡單的業務邏輯操作
      • VO 中通常重寫 equals 和 hashCode 方法,以便基於值進行比較
    • PO / 實體Entity】:實體必須要有唯一 ID 標識符,意味著如果兩個 Entity 的屬性值相同,它們也不相等;PO 是與數據庫表相映射的 Java 對象【所以 PO 和實體可以看作是相同的概念
    • DTOdata transfer object】:DTO 用於在不同層之間傳輸數據
      • 不包含任何業務邏輯
    • 充血模型:充血模型 = PO + 業務邏輯,如果某個 PO 中有業務邏輯,那它就是充血模型
      • BOBusiness object】:業務對象包含業務邏輯
        • 只用於 Service 層
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。