Python设计模式(第2版) 封面

Python设计模式(第2版)

评分 3.3
字数
18.6万字
章节数
11
ISBN
9787115458803

标签

内容简介

设计模式是构建大型软件系统最有力的方法之一,优化软件架构与设计已经成为软件开发、维护过程中的重要课题。本书是 Packt 出版社《Learning Python Design Patterns》第二版的中文译本,围绕 Python 这一动态语言的特性,用 11 章篇幅系统讲述设计模式在 Python 中的落地方式:从面向对象的基本概念与开闭原则、控制反转、接口隔离等设计原则出发,依次讲解单例、工厂、门面、代理、观察者、命令、模板方法、状态等模式,并以模型—视图—控制器(MVC)为例展示复合模式的组合应用,最后讨论反模式,介绍“意大利面条代码”“金锤子”“熔岩流”等常见的软件开发与架构陷阱。全书配有基于 Python 3.5 的示例代码,帮助读者理解每个模式要解决的问题、参与者角色与实现要点,同时分析各种模式在动态语言环境下的适用范围与优缺点。篇幅精炼,适合已经会写 Python、希望系统补上设计思维与架构功底的开发者作为入门读物。

编辑推荐

市面上讲解设计模式的书不少,但大多以 Java、C++ 等静态语言为例,照搬到 Python 里往往显得笨重。这本小书的价值恰恰在于,它始终站在 Python 的视角谈模式:元类、一等函数、鸭子类型这些语言特性如何让单例、工厂、观察者等模式写得更轻,哪里可以简化,哪里反而要克制。全书只有 11 章、118 页,节奏紧凑,每章按“定义—UML 与参与者—现实世界示例—优缺点—小结”的结构推进,读完一个模式就能在脑中形成“什么场景用它”的判断。第 9 章以 MVC 串起复合模式,第 11 章的反模式部分更难得地提醒读者:识别坏设计比套用模式同样重要。它不是手册式的模式大全(比如未覆盖全部 GoF 模式),但作为一本低成本、高信息密度的入门与复盘读物,适合放在手边常翻。

适合谁读

适合

  • 已经掌握 Python 基础语法、想系统学习设计模式的开发者
  • 需要为中小型项目做架构设计、希望提升代码复用性的工程师
  • 从 Java 等静态语言转 Python、想了解模式在动态语言中如何变形的读者
  • 准备面试、需要梳理面向对象设计原则与常见模式的技术求职者

不适合

  • 完全没有编程基础、尚未写过一个完整 Python 程序的初学者
  • 希望查阅全部 GoF 23 种模式并作为工具书随时检索的读者
  • 只想找可直接复制粘贴的生产级框架代码而非理解原理的读者

阅读建议

  1. 先读第 1 章的设计原则,再按创建型、结构型、行为型分组阅读后续章节,形成体系。
  2. 每读完一个模式,用自己项目里的真实场景重写一遍示例代码,比抄书更有效。
  3. 读到第 11 章时,对照前面学过的模式回看自己写过的代码,找出其中的反模式。
  4. 本书篇幅短,宜快读一遍再精读重点章节,并配合《设计模式》原著补充静态语言视角。

出版社简介

人民邮电出版社 中国 · 成立于 1953 年

人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。

目录

  1. 第1章 设计模式简介
  2. 第2章 单例设计模式
  3. 第3章 工厂模式:建立创建对象的工厂
  4. 第4章 门面模式——与门面相适
  5. 第5章 代理模式——控制对象的访问
  6. 第6章 观察者模式——了解对象的情况
  7. 第7章 命令模式——封装调用
  8. 第8章 模板方法模式——封装算法
  9. 第9章 模型—视图—控制器——复合模式
  10. 第10章 状态设计模式
  11. 第11章 反模式

常见问题

这本书是第几版?依据哪个英文原版翻译?
中文版为人民邮电出版社 2017 年 8 月出版的第 1 版(书名标注“第2版”),据 Packt 出版社 2016 年的《Learning Python Design Patterns》第二版译出,译者韩波。
书中示例代码基于哪个 Python 版本?
英文原版示例基于 Python 3.5,中文版沿用了这些示例,因此阅读时使用 Python 3.5 及以上版本运行基本不会有问题。
这本书讲了全部 23 种设计模式吗?
没有。全书 11 章重点讲了单例、工厂、门面、代理、观察者、命令、模板方法、状态等模式,并用 MVC 展示复合模式,另有反模式一章,并非完整的 GoF 23 模式大全。
118 页这么薄,内容会不会太浅?
本书定位是精炼入门,重在讲清每个模式解决什么问题、如何在 Python 中实现与取舍,深度有限但对建立整体框架很有效;需要更深入可搭配《Head First 设计模式》或 GoF 原著。
零基础能读懂吗?
建议先具备类、继承、多态等面向对象基础和一定 Python 实践,否则书中 UML 类图与模式动机部分会比较吃力。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同类高分