充血模型与贫血模型

充血模型与贫血模型

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

        // 支付逻辑
    }
}
相关推荐
缘空如是7 小时前
基础工具包之JSON 工厂类
java·json·json切换
❀͜͡傀儡师7 小时前
centos 7部署dns服务器
linux·服务器·centos·dns
追逐梦想的张小年7 小时前
JUC编程04
java·idea
好家伙VCC7 小时前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
Dying.Light8 小时前
Linux部署问题
linux·运维·服务器
S19018 小时前
Linux的常用指令
linux·运维·服务器
(❁´◡`❁)Jimmy(❁´◡`❁)8 小时前
Exgcd 学习笔记
笔记·学习·算法
小义_8 小时前
【RH134知识点问答题】第7章 管理基本存储
linux·运维·服务器
南极星10058 小时前
蓝桥杯JAVA--启蒙之路(十)class版本 模块
java·开发语言
消失的旧时光-19438 小时前
第十三课:权限系统如何设计?——RBAC 与 Spring Security 架构
java·架构·spring security·rbac