实战Python设计模式:可复用面向对象软件开发实践

作者
薛卫国
丛书名
出版社
电子工业出版社
ISBN
9787121379598
简要
简介
内容简介书籍计算机书籍 作为可复用面向对象软件开发的基础,设计模式集合了很多软件开发领域专家的宝贵经验和良好实践,其重要性不言而喻。但是,学习设计模式的过程并不是一帆风顺的,对于缺乏面向对象开发经验的设计者尤其如此。就像在游泳池中不能学会海战一样,我们不应该指望理解几个似是而非的例子就可以在实际开发中灵活运用设计模式。学习设计模式*好的方式就是在实际的开发中边学边练边体会。本书利用Python 的标准GUI 工具包tkinter,通过可执行的示例对23 个设计模式逐个进行说明。这样一方面可以使读者了解真实的软件开发工作中每个设计模式的运用场景和想要解决的问题;另一方面通过对这些问题的解决过程进行说明,让读者明白在编写代码时如何判断使用设计模式的利弊,并合理运用设计模式。对设计模式感兴趣而且希望随学随用的读者通过本书可以快速跨越从理解到运用的门槛;希望学习Python GUI 编程的读者可以将本书中的示例作为设计和开发的参考;使用Python 语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础,迅速构建自己的系统架构。
目录


第1 章 示例软件介绍 ··········································································.1

1.1 准备工作 ···········································································.1

1.1.1 源代码下载 ································································.1

1.1.2 安装开发环境 ·····························································.1

1.2 启动 ·················································································.1

1.3 功能说明 ···········································································.2

1.4 功能概要 ···········································································.3

1.4.1 编辑 ·········································································.3

1.4.2 逻辑调试 ···································································.6

1.4.3 文件管理 ···································································.6

1.4.4 代码生成 ···································································.6

第2 章 创建型模式 ·············································································.7

2.1 抽象工厂模式 ·····································································.7

2.1.1 问题说明 ···································································.7

2.1.2 模式结构 ···································································.8

2.1.3 示例代码 ···································································.9

2.1.4 实战运用 ··································································.12

2.1.5 效果讨论 ··································································.19

2.1.6 提示和技巧 ·······························································.19

2.2 工厂方法模式 ····································································.19

2.2.1 问题说明 ··································································.19

2.2.2 模式结构 ··································································.21

2.2.3 示例代码 ··································································.22

2.2.4 实战运用 ··································································.24

2.2.5 效果讨论 ··································································.26

2.2.6 提示和技巧 ·······························································.26

2.3 原型模式 ··········································································.27

2.3.1 问题说明 ··································································.27

2.3.2 模式结构 ··································································.28

2.3.3 示例代码 ··································································.29

2.3.4 实战运用 ··································································.30

2.3.5 效果讨论 ··································································.34

2.3.6 提示和技巧 ·······························································.34

2.4 生成器模式 ·······································································.35

2.4.1 问题说明 ··································································.35

2.4.2 模式结构 ··································································.37

2.4.3 示例代码 ··································································.38

2.4.4 实战运用 ··································································.42

2.4.5 效果讨论 ··································································.43

2.4.6 提示和技巧 ·······························································.44

2.5 单例模式 ··········································································.44

2.5.1 问题说明 ··································································.44

2.5.2 模式结构 ··································································.45

2.5.3 示例代码 ··································································.46

2.5.4 实战运用 ··································································.47

2.5.5 效果讨论 ··································································.50

2.5.6 提示和技巧 ·······························································.50

2.6 创建型模式小结 ·································································.50

第3 章 结构型模式 ············································································.52

3.1 组合模式 ··········································································.52

3.1.1 问题说明 ···················3



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4