跳到内容

第六卷:软件工程与设计模式 ​

这卷关心软件改过几轮之后,还能不能看懂、验证和交付。需求、契约、测试与架构会放在一起讨论;设计模式则等到出现具体变化需求再出场,暂时不用给每个类都安排一个响亮的头衔。

先修知识 ​

  • 能用一种语言写出包含多个函数或类的小程序,会用 Git 保存修改;可参考第一卷和第零卷。
  • 学到服务、消息和数据一致性时,需要了解 HTTP 与事务。按需查阅第四卷和第五卷即可。

覆盖内容 ​

第 1–6 章建立需求、代码与交付的反馈过程;第 7–10 章讨论设计原则和模式;第 11–17 章处理架构、服务、消息与部署;最后三章讨论 AI 系统、API 契约和领域建模。

第 1 章 ​

第 2 章 ​

第 3 章 ​

第 4 章 ​

第 5 章 ​

第 6 章 ​

第 7 章 ​

第 8 章 ​

第 9 章 ​

第 10 章 ​

第 11 章 ​

第 12 章 ​

第 13 章 ​

第 14 章 ​

第 15 章 ​

第 16 章 ​

第 17 章 ​

第 18 章 ​

第 19 章 ​

第 20 章 ​

学完能做什么 ​

  • 把含糊需求改写成可检查的行为,选择能发现关键错误的测试。
  • 根据变化方向选择抽象、模式和模块边界,并用小步重构验证修改。
  • 分析服务提取、消息投递和部署中的失败情况,设计相应的恢复与验证方式。

怎样使用这份目录 ​

从第 1–6 章入手时,最好带一个自己写过的小项目,边读边改。查模式时,先写出当前代码难改在哪里,再看第 7–10 章是否真的能帮忙。面对服务拆分、接口变更或消息重复等具体问题,可以直接跳到后半卷;读完后应能说明选择的代价,而不只是记住模式名称。

Built with VitePress | Software Systems Atlas