免费书领取:《Python整洁架构软件设计》
2019年01月23日 由 荟荟 发表
486189
0
什么是好的软件架构?为什么我们要费心构造代码并花时间测试它?如果你喜欢花几个小时调试你的程序,或者在办公室呆到很晚,从生产中的错误部署中恢复过来,那么这本书绝对不适合你!
关于本书:(关注公众号“ATYUN订阅号”,回复关键字“整洁设计”可以领取电子书。)
干净的体系结构与意大利面条式代码相反,在意大利面条式代码中,所有的东西都是交错的,没有任何单一的元素可以轻易地从其他元素中分离出来,并在整个系统崩溃的情况下进行替换。清洁体系结构的主要目的是明确“什么在哪里“和”为什么会这样”,无论您希望遵循什么体系的结构或开发方法,这都应该是您在设计和实现软件系统时的第一个要关注的点。
这本书分为两部分:
第一部分是关于测试驱动开发(TDD),这是一种编程技术,它将帮助您获得更可靠、更容易修改的软件。本书将通过第1章中的一个非常简单的示例,演示如何使用TDD来处理项目,以及如何根据需求正确地创建测试来引导您。在第2章中,从更深层的理论的角度讨论单元测试,分类函数及其测试。第3章将介绍mocks,这是一个帮助测试复杂场景的强大工具。
第二部分介绍了清洁架构。第一章简要讨论了这个软件结构背后的组件和思想,而第2章则介绍了一个非常简单的Web服务的清洁体系结构的具体示例。第3章讨论了错误管理和上一章中开发的Python代码的改进。最后,第4章展示了如何将不同的数据库系统插入先前创建的Web服务当中。
关于作者
莱昂纳多·吉奥达尼,出生于1977年。从Z80和x86汇编到Python和Scala,对操作系统和计算机语言感兴趣的他,研究并使用了几种编程语言。他这样介绍自己说:“我喜欢数学和密码学。我主要对开源软件感兴趣,我更喜欢计算机科学的理论和实践方面。13年来,我是C/python程序员,为一家卫星图像公司工作,这是一家总部位于伦敦和纽约的英国公司,为电影制作创造创新的软件。而我现在是一名Wegotpop的基础设施工程师。2013年,我开始在我的博客“数码猫”上发表一些技术想法。”
关于本书目录
一 介绍
1.什么是软件架构?
2.为什么称它为“干净”的架构?
3.为何选择Python?
4.致谢
二.关于这本书
1.这本书的简史
2.本书的结构如何
3.印刷约定
4.为什么这本书是免费的
5.提交问题或补丁
6.关于作者
三.设置Python项目
1.虚拟环境
2.使用Cookiecutter进行Python项目
第1部分 - 工具
第1章 - TDD简介
1.介绍
2.一个真实的例子
3.一个简单的TDD项目
4.设置项目
5.要求
6.第1步 - 添加两个数字
7.第2步 - 添加三个数字
8.第3步 - 添加多个数字
9.第4步 - 减法
10.第5步 - 乘法
11.第6步 - 重构
12.第7步 - 分部
13.第8步 - 测试异常
14.第9步 - 更复杂的要求
15.回顾TDD规则
16.有多少断言?
17.如何管理错误或功能缺失
第2章 - 关于单元测试
1.介绍
2.测试应该很快的
3.测试应该是幂等的
4.测试应该是孤立的
5.外部系统
6.专注于消息
7.测试网格
8.结论
第3章 - 模拟
1.基本概念
2.第一步
3.简单的返回值
4.复杂的返回值
5.断言电话
6.一个简单的例子
7.修补
8.修补装饰者
9.多个补丁
10.修补不可变对象
11.模拟和适当的TDD
12.一个警告
13.概括
第2部分 - 干净的架构
第1章 - 干净架构的组件
1.图层和数据流
2.主要层
3.API和灰色阴影
第2章 一个基本的例子
1.项目概况
2.项目设置
3.领域模型
4.串行器
5.用例
6.存储系统
7.命令行界面
8.HTTP API
9.结论
第3章 - 错误管理
1.介绍
2.基本要求和答复
3.用例中的请求和响应
4.请求验证
5.回应和失败
6.用例中的错误管理
7.集成外部系统
8.HTTP服务器
9.存储库
10.结论
第4章 数据库存储库
1.介绍
2.基于PostgreSQL的存储库
3.基于MongoDB的存储库
4.结论
第3部分 - 附录
1.更新日志
2.笔记