内容推荐 开发规模和复杂性不断增长的大型系统需要深刻理解软件项目的实施过程。软件开发人员、架构师和技术管理团队遵循高级软件设计模式(如微服务架构、事件驱动架构,以及领域驱动设计规定的策略模式),可以简化开发过程。 本书涵盖了这些成熟的架构设计模式,并以前瞻性的方法帮助Python开发人员管理复杂应用程序的开发,令其从Python测试套件中获取最大价值。 本书从系统设计的起始阶段开始,让你了解软件开发的思路和项目中要考虑的重点问题。书中阐述了各种架构模式,如微服务、Web服务和事件驱动架构,以及如何选择最适合你的项目的模式。然后,在建立相关概念的基础上,讨论如何进行开发、调试和测试,以编写高质量的代码,并为系统部署做好准备。此外,本书还讲解了当系统部署到最终用户之后如何实现持续运维,因为软件开发的生命周期永无止境。 学完本书,你将形成“架构思维”:一种不一样的软件设计方法,包括对运行中的系统进行调整。 作者简介 詹姆·布尔塔(Jaime Buelta)是拥有20多年经验的杰出程序员,其中10余年全职从事Python开发。在此期间,他接触了很多不同的技术,帮助航空航天、工业系统、在线视频游戏服务、金融服务和教育工具等多个行业领域的客户达成目标。自2018年以来,Jaime一直在撰写技术书籍,总结职业生涯中的经验教训,除本书外,他还著有Python Automation Cookbook和Hands On Docker for Microservices in Python。 目录 译者序 前言 关于作者 关于审校者 第1章 软件架构简介 1.1 设计软件系统的架构 1.2 划分为较小的单元 1.3 康威定律:对软件架构的影响 1.4 应用示例:概述 1.5 软件架构安全 1.6 小结 第一部分 设计 第2章 API设计 2.1 抽象 2.1.1 使用合适的抽象 2.1.2 抽象失效 2.1.3 资源与操作抽象 2.2 RESTful接口 2.2.1 实用性定义 2.2.2 HTTP头部及状态 2.2.3 资源设计 2.2.4 资源与参数 2.2.5 分页 2.2.6 RESTful API流程设计 2.2.7 使用Open API规范 2.3 认证 2.3.1 HTML接口认证 2.3.2 RESTful接口认证 2.4 API版本管理 2.4.1 为何需要版本管理 2.4.2 内部版本与外部版本 2.4.3 语义化版本管理 2.4.4 简单的版本管理 2.5 前端与后端 2.6 HTML接口 2.6.1 传统HTML接口 2.6.2 动态页面 2.6.3 单页应用程序 2.6.4 混合模式 2.7 API设计示例 2.7.1 端点 2.7.2 设计及实现审查 2.8 小结 第3章 数据建模 第4章 数据层 第二部分 架构模式 第5章 十二要素App方法论 第6章 Web服务器架构 第7章 事件驱动架构 第8章 高级事件驱动架构 第9章 微服务与单体 第三部分 实现 第10章 测试与TDD 第11章 包管理 第四部分 第12章 日志 第13章 度量 第14章 性能分析 第15章 调试 第16章 持续架构 |