时序图 —— 讲清“对象之间怎么互动”

1. 核心思想(老师再问你)

        现在,我们不看宏观流程了,我们拿“放大镜”看流程中的某一个瞬间。比如“用户支付”这个动作,背后系统内部是怎么协作的?
        时序图就像一场戏的“分镜头脚本”,它精确展示了对象之间传递消息的顺序和时间关系。它关注的是 “交互” 和 “时间顺序”


       

2. 核心要素(新的“积木块”)

  • 对象: 参与交互的各个实体。例如:用户界面、订单服务、支付网关、数据库。

    • 画法: 矩形框,里面带下划线 [ :Object ]

  • 生命线: 每个对象下方的一条垂直虚线,代表该对象随时间的存在。

    • 画法: 竖虚线 - - -

  • 激活条: 生命线上的窄矩形,表示对象执行操作的时间段。

    • 画法: 竖条 ▮

  • 消息: 对象之间传递的请求或信号。例如:支付请求、验证结果。

    • 画法: 带箭头的实线 → (同步消息) 或 带箭头的虚线 ──→ (异步消息/返回消息)

  • 时序: 严格从上到下,时间越早的越在上面。

3. 动手实践:绘制“用户支付”时序图

  1. 确定交互对象: :用户界面:订单服务:支付网关:数据库

  2. 画生命线: 为每个对象画一条垂直的虚线。

  3. 从第一条消息开始:

    • :用户界面 发送 支付请求() 给 :订单服务

4.逐步推演:

  • :订单服务 收到请求后,激活。它先向 :数据库 发送 更新订单状态(待支付) 的消息。

  • :数据库 完成更新后,返回一个 确认消息

  • :订单服务 再向 :支付网关 发送 执行扣款() 的消息。

  • :支付网关 处理扣款,然后返回 扣款结果(成功)

  • :订单服务 再次请求 :数据库 更新订单状态(支付成功)

  • :数据库 返回确认。

5.结束交互:

 :订单服务 向 :用户界面 返回 支付成功提示

(请看下方的时序图示例)

6.给萌新的黄金法则

  • 一句口诀: 从上到下是时间,对象互动靠消息。

  • 常见误区: 消息顺序画错;忘了画返回消息。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小风华~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值