知识卡片

插件化解决文档失真与团队碎片化的双重矛盾

普通读书笔记卡

内容

大型业务系统按团队边界拆分成若干独立子系统后,几乎必然遭遇两个看似无关、实则同源的问题:一是文档失真——自然语言写的设计规范不够形式化,留有大量自由发挥空间,团队规模一大、人员一更替,落地实现就会和最初设计意图越走越偏,靠”多写文档”“跨团队Review”根本压不住这个偏移;二是碎片化——每个垂直团队在自己的产品上拥有很大自主权,流程设计、交互设计各自为政,用户体验和业务流程越来越不一致,最终损害整体业务目标。插件化的思路是把系统显式拆成”引擎”和”插件”两部分:引擎不含具体业务逻辑,只负责解析和运行插件、并对用户交互、业务流程等”必须统一”的部分做强约束;插件由各接入方提供,承载”允许变化”的定制化逻辑。这个方法的本质,是把原来只能停留在文档里、靠人自觉遵守的”哪些该统一、哪些可以自由发挥”的约定,转化成引擎代码本身能够强制执行的边界——文档说了不算,代码结构说了算,这才是插件化真正解决碎片化问题的关键,而不只是简单地”多加一层抽象”。

参考来源

- 位置:《高可用架构(第1卷)》第2章《高可用架构原理与分布式实践》"2.3 解耦的艺术——大型互联网业务系统的插件化改造"节,"2.3.1 插件化"(源文件:_epub-src/OEBPS/Text/Chapter2_3_2.xhtml) - 结论依据:原文说明拆分后遇到"文档"和"碎片化"两个问题的根源,并给出"插件化类似软件设计中的'依赖注入',将整个系统分成'引擎'和'插件'2部分。用'引擎'保证统一,用'插件'提供灵活性"的解决方案,直接支撑本卡片结论。 - 原始内容:拆分后不可避免地遇到了以下2个问题:文档、碎片化……插件化类似软件设计中的"依赖注入",将整个系统分成"引擎"和"插件"2部分。用"引擎"保证统一,用"插件"提供灵活性。