在“快缩短网址”(suo.run)的哲学里,简洁不是妥协,而是优雅的凝练。而真正的系统设计,亦如短链之于长URL——以最小的结构,承载最丰盈的逻辑。
今日,我们不谈链接,而谈人。
当一个餐饮系统被拆解为订单、预订、排队与营销的脉络时,真正的骨架,不在数据库的表字段里,而在每一个角色的呼吸之间。
我们称其为:领域中的生命体。
---
一、谁在系统中行走?——利益相关者的轮廓
一个餐厅,不是由“功能”构成的,而是由人驱动的机器。
- 服务员:不是“点击上菜按钮”的执行者,是餐桌与厨房之间的温度传递者。
- 厨师:不是“处理菜品数据”的编码单元,是火候与风味的诗人。
- 店长:不是“查看报表的管理者”,是平衡人、货、时的指挥官。
- 后台运营:不是“配置优惠券的技工”,是用数据编织营销节奏的策展人。
他们不是“用户”,他们是系统的语义核心。
我们以UML类图为镜,映照出这些角色的公共本质与独特使命:

> 员工(Employee)
> ├─ 姓名、性别、工号、入职时间
> ├─ 服务员(Waiter)
> │ ├─ 上菜()
> │ ├─ 推荐菜品()
> │ └─ 处理投诉()
> ├─ 厨师(Chef)
> │ ├─ 健康证编号
> │ ├─ 烹饪等级
> │ └─ 烹饪()
> └─ 店长(Manager)
> ├─ 营销权限
> ├─ 人员排班()
> └─ 财务对账()
这不是技术文档,这是组织的基因图谱。
---
二、为何如此凝练?——三重价值,无声胜有声
1. 原型的锚点
当你为后台新增一名员工,字段不是凭感觉填写,而是源于“谁是谁”的清晰认知。厨师必须有健康证,服务员无需——这不再是需求争论,而是逻辑必然。
2. 业务的语法
产品经理若连“上菜”与“结账”属于不同角色的职责都模糊,谈何设计“智能排单”?类图不是画出来的,是想明白后自然浮现的结构。
3. 研发的默契
一个清晰的继承关系,胜过十次会议的反复解释。
Waiter extends Employee —— 开发一眼读懂:权限共享,字段复用,行为扩展。 没有歧义,只有效率。
---
三、画得够不够细?——不是技术问题,是沟通艺术
我们不必画出财务总监的KPI计算逻辑,也不必为实习生标注“擦桌子”的操作。
类图不是全景图,是认知地图。
重点在于:你是否厘清了“谁做什么”与“谁拥有什么”。
职位名是标签,职能块才是灵魂。
“服务员”不是岗位,是“服务行为”的聚合体;
“厨师”不是工种,是“烹饪能力”的封装。
这,就是领域建模的初啼。
---

四、符号的深意——UML不是代码,是思想的雕塑

- 继承(Generalization)
服务员“是”员工,不是“有”员工。
这不是“包含”,是本质的归属。
子类继承父类的“存在”,并叠加自己的“行为”。
- 操作(Operation)
上菜(),不是“上菜”二字。 括号,是方法的呼吸。
它暗示:这是一个动作,有输入、有输出、有边界。
对研发,它是函数签名;对你,它是责任的边界声明。
> 产品经理不必写
上菜(String tableId, List<Dish> dishes), > 但你必须知道:它有参数,它有目的,它不可被厨师调用。
---
五、翻译的艺术——让技术听懂人话,让业务听懂逻辑
你对研发说:
> “服务员继承员工,有上菜、推荐、投诉处理三个行为。”
你对业务说:
> “服务员负责端菜、推荐招牌、处理顾客意见,和厨师、店长是同一类人,但能做的事不同。”
你对老板说:
> “我们把人按职责分层,系统就知道谁该看到什么、能做什么——不会让厨师去排班,也不会让前台点菜。”
同一张图,三种语言,一种真相。
你不是在画图,你是在搭建认知的桥梁。
用脑图?可以,快。
但别忘了:脑图是情绪的表达,类图是逻辑的结晶。
---
结语:真正的产品经理,是系统的诗人
我们做“快缩短网址”,不是为了把长链接变短,
而是为了让信息在传递中不失真、不冗余、不迷失。
同理,设计一个餐饮系统,
不是为了堆砌功能,
而是为了让每一个角色,在系统中清晰地活着。

类图,是沉默的诗。
它不喧哗,却定义了秩序。
它不炫技,却让复杂归于优雅。
当你能用一张图,让研发点头、让运营理解、让老板安心——
你已超越了“产品经理”的头衔。
你,是系统之魂的翻译者。
下次,我们拆解“交易管理”——
看订单如何在排队、预订、外卖三股流中,优雅地汇入同一片数据海洋。
——
suo.run,不止于短,更在于明。
作者:擎苍,《图解产品》作者
设计不是装饰,是认知的压缩与升华