充血模型与贫血模型

充血模型与贫血模型

  1. 充血模型:对象里既有数据,又有业务逻辑,简单来说就是,对象有属性 + 业务方法
java 复制代码
class Order {
    private double amount;
    private String status;
    
    public void pay() {
        if (status.equals("已支付")) {
            throw new RuntimeException("不能重复支付");
        }
        this.status = "已支付";

        // 支付逻辑
    }
}
  1. 贫血模型:对象里只有数据,没有业务逻辑,简单来说就是,对象有属性 + 只有 getter/setter 方法
java 复制代码
class Order {
    private double amount;
    private String status;

    // 只有 getter/setter 方法
}
java 复制代码
class OrderService {
    public void pay(Order order) {
        if (order.getStatus().equals("已支付")) {
            throw new RuntimeException("不能重复支付");
        }
        order.setStatus("已支付");

        // 支付逻辑
    }
}
相关推荐
reembarkation6 分钟前
光标在a-select,鼠标已经移出,下拉框跟随页面滚动
java·数据库·sql
愣头不青20 分钟前
617.合并二叉树
java·算法
Edward1111111123 分钟前
3.18异常学习
学习
刀法如飞26 分钟前
AI编程时代,为什么35岁以上程序员会更吃香?
人工智能·后端·ai编程
小码哥_常33 分钟前
Spring Boot 遇上 HMAC-SHA256,API 安全大升级!
后端
Sylvia-girl37 分钟前
Linux下的基本指令1
linux·运维·服务器
小码哥_常42 分钟前
10分钟极速掌握!SpringBoot+Vue3整合SSE实现实时消息推送
后端
正经人_x1 小时前
学习日记34:UNETR
学习
科技林总1 小时前
【系统分析师】12.3 软件架构描述与表示
学习
wincheshe1 小时前
AI Agent 开发学习 --- 框架开发实践(三)
人工智能·学习