核心问题

如何把业务流程变成逻辑骨架?

练习一:银行转账

不变量:

总金额不变。
余额不能为负。
每次转账必须有 ledger entry。

守卫方式:

transaction
row lock
assert amount > 0
assert balance >= amount
ledger unique id

练习二:课程订单

状态机:

created -> paid -> access_granted
paid -> refunded -> access_revoked
created -> canceled

非法状态:

refunded 但没有 paid
access_granted 但 order 未 paid
access active 但 refund completed

Atlas Action

把你手头一个流程写成:

不变量
状态机
非法状态
并发风险
边界测试

小结

业务逻辑不是 if-else 的集合,而是一组必须守住的真值。