充血模型与贫血模型

充血模型与贫血模型

  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("已支付");

        // 支付逻辑
    }
}
相关推荐
信誓旦旦的程序猿几秒前
【零依赖量化数据实战 #25】北交所技术指标与基本面
java·人工智能·python·股票数据api·股票数据·股票数据api接口·股票api数据接口
Capricorn19882 分钟前
Bug排障实录:Software 3.0 遭遇文献幻觉?知芽 Notebook Skill 底层架构解析
人工智能·笔记·架构·bug·论文笔记
万年咸鱼4 分钟前
Java ArrayList 详解:原理、用法与实战
java·开发语言·windows
fliter18 分钟前
我们如何通过优化 1.1.1.1 的 DNS 缓存节省 100 TB 内存
后端
国科安芯21 分钟前
低轨卫星姿轨控系统中抗辐射MCU的选型依据与工程实践
单片机·嵌入式硬件·算法·架构·系统安全·低轨卫星·抗辐射
小弥儿22 分钟前
GitHub今日热榜 | 2026-09-01:迷你小模型登场
学习·microsoft·开源·github
高亦真26 分钟前
今天是学习嵌入式的第33天
linux·学习·算法
一开26 分钟前
一个自己开发的 Agent Harness-子 Agent篇
后端
KoPa27 分钟前
HeySmart:事件总线——异步解耦的艺术
前端·后端
金花顺27 分钟前
ndroid 音频系统:AudioTrack 源码深度解析(从 Java 构造到 Native 启动)
前端·架构