Python设计模式 第2版

Python设计模式 第2版
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2017-08
版次: 01
ISBN: 9787115458803
定价: 39.00
装帧: 平装
开本: 16开
页数: 118页
正文语种: 简体中文
39人买过
  • 设计模式是构建大型软件系统zui强大的方法之一,优化软件架构和设计已经逐渐成为软件开发和维护过程中的一个重要课题。
    本书通过11章内容,全面揭示有关设计模式的内容,并结合Python语言进行示例化的解析。全书囊括单例设计模式、工厂模式、门面模式、代理模式、观察者模式、命令模式、模板方法模式、复合模式、状态设计模式以及反模式等多种设计模式。
    本书适合那些关注软件设计原则,并想将you秀的设计模式应用到Python编程当中的读者阅读,也适合普通的软件工程师、架构师参考。 Chetan Giridhar是一位技术领导者、开源爱好者和Python开发人员。他曾在LinuxForYou和Agile Record等杂志上发表多篇技术和开发实践方面的文章,并在Python Papers杂志上发表过技术论文。他曾在PyCon India、Asia-Pacifc和New ZealandPyCon等会议上发表演讲,并热衷于实时通信、分布式系统和云应用等领域。Chetan已经是Packt出版社的技术评审,并为 IPython Visualizations和Core Python等图书撰稿。 目录


    第1章 设计模式简介 1
    1.1 理解面向对象编程 1
    1.1.1 对象 2
    1.1.2 类 2
    1.1.3 方法 2
    1.2 面向对象编程的主要概念 3
    1.2.1 封装 3
    1.2.2 多态 3
    1.2.3 继承 4
    1.2.4 抽象 4
    1.2.5 组合 5
    1.3 面向对象的设计原则 5
    1.3.1 开放/封闭原则 6
    1.3.2 控制反转原则 6
    1.3.3 接口隔离原则 6
    1.3.4 单一职责原则 7
    1.3.5 替换原则 7
    1.4 设计模式的概念 7
    1.4.1 设计模式的优点 8
    1.4.2 设计模式的分类 9
    1.4.3 上下文—设计模式的适用性 9
    1.5 动态语言的设计模式 9
    1.6 模式的分类 10
    1.6.1 创建型模式 10
    1.6.2 结构型模式 10
    1.6.3 行为型模式 11
    1.7 小结 11
    第2章 单例设计模式 12
    2.1 理解单例设计模式 12
    2.2 单例模式中的懒汉式实例化 14
    2.3 模块级别的单例模式 15
    2.4 Monostate单例模式 15
    2.5 单例和元类 16
    2.6 单例模式Ⅰ 18
    2.7 单例模式Ⅱ 20
    2.8 单例模式的缺点 21
    2.9 小结 22
    第3章 工厂模式:建立创建对象的工厂 23
    3.1 了解工厂模式 23
    3.2 简单工厂模式 24
    3.3 工厂方法模式 26
    3.3.1 实现工厂方法 27
    3.3.2 工厂方法模式的优点 29
    3.4 抽象工厂模式 30
    3.5 工厂方法与抽象工厂方法 33
    3.6 小结 34
    第4章 门面模式—与门面相适 35
    4.1 理解结构型设计模式 35
    4.2 理解门面设计模式 36
    4.3 UML类图 37
    4.3.1 门面 37
    4.3.2 系统 38
    4.3.3 客户端 38
    4.4 在现实世界中实现门面模式 38
    4.5 最少知识原则 42
    4.6 常见问答 42
    4.7 小结 43
    第5章 代理模式—控制对象的访问 44
    5.1 理解代理设计模式 44
    5.2 代理模式的UML类图 46
    5.3 了解不同类型的代理 47
    5.3.1 虚拟代理 48
    5.3.2 远程代理 48
    5.3.3 保护代理 48
    5.3.4 智能代理 48
    5.4 现实世界中的代理模式 49
    5.5 代理模式的优点 52
    5.6 门面模式和代理模式之间的比较 52
    5.7 常见问答 53
    5.8 小结 53
    第6章 观察者模式—了解对象的情况 54
    6.1 行为型模式简介 54
    6.2 理解观察者设计模式 55
    6.3 现实世界中的观察者模式 58
    6.4 观察者模式的通知方式 62
    6.4.1 拉模型 62
    6.4.2 推模型 62
    6.5 松耦合与观察者模式 62
    6.6 观察者模式:优点和缺点 63
    6.7 常见问答 64
    6.8 小结 64
    第7章 命令模式—封装调用 65
    7.1 命令设计模式简介 65
    7.2 了解命令设计模式 66
    7.3 实现现实世界中命令模式 69
    7.4 命令模式的优缺点 73
    7.5 常见问答 74
    7.6 小结 74
    第8章 模板方法模式—封装算法 75
    8.1 定义模板方法模式 75
    8.1.1 了解模板方法设计模式 77
    8.1.2 模板方法模式的UML类图 79
    8.2 现实世界中的模板方法模式 81
    8.3 模板方法模式—钩子 84
    8.4 好莱坞原则与模板方法 85
    8.5 模板方法模式的优点和缺点 85
    8.6 常见问答 86
    8.7 小结 86
    第9章 模型—视图—控制器—复合模式 87
    9.1 复合模式简介 87
    9.2 模型—视图—控制器模式 88
    9.2.1 模型—了解应用程序的情况 90
    9.2.2 视图—外观 90
    9.2.3 控制器—胶水 90
    9.3 MVC设计模式的UML类图 92
    9.4 现实世界中的MVC模式 94
    9.4.1 模块 94
    9.4.2 MVC模式的优点 101
    9.5 常见问答 101
    9.6 小结 102
    第10章 状态设计模式 103
    10.1 定义状态设计模式 103
    10.1.1 理解状态设计模式 104
    10.1.2 通过UML图理解状态设计模式 105
    10.2 状态设计模式的简单示例 106
    10.3 状态模式的优缺点 110
    10.4 小结 111
    第11章 反模式 112
    11.1 反模式简介 112
    11.2 软件开发反模式 113
    11.2.1 意大利面条式代码 114
    11.2.2 金锤 114
    11.2.3 熔岩流 115
    11.2.4 复制粘贴或剪切粘贴式编程 115
    11.3 软件架构反模式 116
    11.3.1 重新发明轮子 116
    11.3.2 供应商套牢 117
    11.3.3 委员会设计 117
    11.4 小结 118
  • 内容简介:
    设计模式是构建大型软件系统zui强大的方法之一,优化软件架构和设计已经逐渐成为软件开发和维护过程中的一个重要课题。
    本书通过11章内容,全面揭示有关设计模式的内容,并结合Python语言进行示例化的解析。全书囊括单例设计模式、工厂模式、门面模式、代理模式、观察者模式、命令模式、模板方法模式、复合模式、状态设计模式以及反模式等多种设计模式。
    本书适合那些关注软件设计原则,并想将you秀的设计模式应用到Python编程当中的读者阅读,也适合普通的软件工程师、架构师参考。
  • 作者简介:
    Chetan Giridhar是一位技术领导者、开源爱好者和Python开发人员。他曾在LinuxForYou和Agile Record等杂志上发表多篇技术和开发实践方面的文章,并在Python Papers杂志上发表过技术论文。他曾在PyCon India、Asia-Pacifc和New ZealandPyCon等会议上发表演讲,并热衷于实时通信、分布式系统和云应用等领域。Chetan已经是Packt出版社的技术评审,并为 IPython Visualizations和Core Python等图书撰稿。
  • 目录:
    目录


    第1章 设计模式简介 1
    1.1 理解面向对象编程 1
    1.1.1 对象 2
    1.1.2 类 2
    1.1.3 方法 2
    1.2 面向对象编程的主要概念 3
    1.2.1 封装 3
    1.2.2 多态 3
    1.2.3 继承 4
    1.2.4 抽象 4
    1.2.5 组合 5
    1.3 面向对象的设计原则 5
    1.3.1 开放/封闭原则 6
    1.3.2 控制反转原则 6
    1.3.3 接口隔离原则 6
    1.3.4 单一职责原则 7
    1.3.5 替换原则 7
    1.4 设计模式的概念 7
    1.4.1 设计模式的优点 8
    1.4.2 设计模式的分类 9
    1.4.3 上下文—设计模式的适用性 9
    1.5 动态语言的设计模式 9
    1.6 模式的分类 10
    1.6.1 创建型模式 10
    1.6.2 结构型模式 10
    1.6.3 行为型模式 11
    1.7 小结 11
    第2章 单例设计模式 12
    2.1 理解单例设计模式 12
    2.2 单例模式中的懒汉式实例化 14
    2.3 模块级别的单例模式 15
    2.4 Monostate单例模式 15
    2.5 单例和元类 16
    2.6 单例模式Ⅰ 18
    2.7 单例模式Ⅱ 20
    2.8 单例模式的缺点 21
    2.9 小结 22
    第3章 工厂模式:建立创建对象的工厂 23
    3.1 了解工厂模式 23
    3.2 简单工厂模式 24
    3.3 工厂方法模式 26
    3.3.1 实现工厂方法 27
    3.3.2 工厂方法模式的优点 29
    3.4 抽象工厂模式 30
    3.5 工厂方法与抽象工厂方法 33
    3.6 小结 34
    第4章 门面模式—与门面相适 35
    4.1 理解结构型设计模式 35
    4.2 理解门面设计模式 36
    4.3 UML类图 37
    4.3.1 门面 37
    4.3.2 系统 38
    4.3.3 客户端 38
    4.4 在现实世界中实现门面模式 38
    4.5 最少知识原则 42
    4.6 常见问答 42
    4.7 小结 43
    第5章 代理模式—控制对象的访问 44
    5.1 理解代理设计模式 44
    5.2 代理模式的UML类图 46
    5.3 了解不同类型的代理 47
    5.3.1 虚拟代理 48
    5.3.2 远程代理 48
    5.3.3 保护代理 48
    5.3.4 智能代理 48
    5.4 现实世界中的代理模式 49
    5.5 代理模式的优点 52
    5.6 门面模式和代理模式之间的比较 52
    5.7 常见问答 53
    5.8 小结 53
    第6章 观察者模式—了解对象的情况 54
    6.1 行为型模式简介 54
    6.2 理解观察者设计模式 55
    6.3 现实世界中的观察者模式 58
    6.4 观察者模式的通知方式 62
    6.4.1 拉模型 62
    6.4.2 推模型 62
    6.5 松耦合与观察者模式 62
    6.6 观察者模式:优点和缺点 63
    6.7 常见问答 64
    6.8 小结 64
    第7章 命令模式—封装调用 65
    7.1 命令设计模式简介 65
    7.2 了解命令设计模式 66
    7.3 实现现实世界中命令模式 69
    7.4 命令模式的优缺点 73
    7.5 常见问答 74
    7.6 小结 74
    第8章 模板方法模式—封装算法 75
    8.1 定义模板方法模式 75
    8.1.1 了解模板方法设计模式 77
    8.1.2 模板方法模式的UML类图 79
    8.2 现实世界中的模板方法模式 81
    8.3 模板方法模式—钩子 84
    8.4 好莱坞原则与模板方法 85
    8.5 模板方法模式的优点和缺点 85
    8.6 常见问答 86
    8.7 小结 86
    第9章 模型—视图—控制器—复合模式 87
    9.1 复合模式简介 87
    9.2 模型—视图—控制器模式 88
    9.2.1 模型—了解应用程序的情况 90
    9.2.2 视图—外观 90
    9.2.3 控制器—胶水 90
    9.3 MVC设计模式的UML类图 92
    9.4 现实世界中的MVC模式 94
    9.4.1 模块 94
    9.4.2 MVC模式的优点 101
    9.5 常见问答 101
    9.6 小结 102
    第10章 状态设计模式 103
    10.1 定义状态设计模式 103
    10.1.1 理解状态设计模式 104
    10.1.2 通过UML图理解状态设计模式 105
    10.2 状态设计模式的简单示例 106
    10.3 状态模式的优缺点 110
    10.4 小结 111
    第11章 反模式 112
    11.1 反模式简介 112
    11.2 软件开发反模式 113
    11.2.1 意大利面条式代码 114
    11.2.2 金锤 114
    11.2.3 熔岩流 115
    11.2.4 复制粘贴或剪切粘贴式编程 115
    11.3 软件架构反模式 116
    11.3.1 重新发明轮子 116
    11.3.2 供应商套牢 117
    11.3.3 委员会设计 117
    11.4 小结 118
查看详情