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 层
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。