首页/开发/系统分析与架构设计速查/大泥球(Big Ball of Mud)反模式
架构风格与模式58 条

大泥球(Big Ball of Mud)反模式

缺乏清晰架构的系统形态:边界模糊、依赖纠缠、补丁叠加,短期能运行但修改风险随规模上升;识别信号包括改动一处牵连多处、无人知晓完整调用关系。

成因持续赶工、缺少边界约束、评审缺失、人员流动
典型症状循环依赖、复制粘贴、全局变量、测试难以编写
应对建立边界与依赖规则,配合绞杀者模式渐进改造
  • 先立护栏:加测试与静态依赖检查,阻止新增循环依赖
  • 选取试点:挑相对独立的模块先明确接口边界
  • 小步替换:用绞杀者把模块迁入新边界
  • 持续记录:维护依赖地图,跟踪违规数量趋势
不要在泥球上直接做大范围重构:先加自动化测试与边界约束,再逐步替换。

易错点

  • 以“能跑就行”为理由持续打补丁,边界进一步瓦解
  • 没有测试覆盖就大面积重构,风险不可控

数据来源与参考

  • Brian Foote & Joseph Yoder《Big Ball of Mud》(PLoP, 1997)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌