知识卡片
自定义业务语言建立规范化数据模型
内容
星巴克用自定义业务语言点单(”中杯”对应小杯,”超大杯”对应大杯)不只是聪明的市场策略,也能建立起规范化数据模型:任何不确定性(要豆奶还是脱脂奶)都在”用户界面”(收银员)环节被解决掉,避免把冗长对话的负担转嫁给下游的咖啡师。发散:一个系统若要求下游处理大量模糊的自由文本输入,往往说明上游没有定义好自己的业务语言——用受限词汇表把歧义挡在入口,比让下游环节各自兜底解析要便宜得多。
参考来源
- 位置:《架构师应该知道的37件事》第2章《架构》之"2.1 咖啡店不使用两段式提交法"·"2.1.7 规范化数据模型"(源文件:_epub-src/OEBPS/Text/chapter002.html)
- 结论依据:原文说明"定义自己的业务语言不仅是一个非常聪明的市场策略,也能建立起规范化数据模型,优化下游流程。任何不确定性(要豆奶还是脱脂奶)都会在'用户界面'由收银员解决,可以避免那些会增加咖啡师负担的冗长对话",直接支撑本卡结论。
- 原始内容:当星巴克咖啡店刚刚出现的时候,顾客对他们在点咖啡时必须要学习的专用语言既兴奋又感到挫败,比如小杯咖啡现在叫作"中杯"(tall),大杯则被称为"超大杯"(venti)。