首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

免费书领取:Python整洁架构软件设计

编译:xshh

出品:ATYUN订阅号

什么是好的软件架构?为什么我们要费心构造代码并花时间测试它?如果你喜欢花几个小时调试你的程序,或者在办公室呆到很晚,从生产中的错误部署中恢复过来,那么这本书绝对不适合你!

关于本书:

(关注公众号“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.笔记

看完了就留下一个喜欢再走吧~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190123B0ZZRJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券