深入设计模式
设计模式能帮助你解决软件设计中经常出现的问题。 但是, 你不能像使用现成的函数或程序库那样, 拿来某个模式就将其套用到自己的程序中。 模式并不是一段特定的代码, 而是用于解决特定问题的一般性概念。
《深入设计模式》 对 22 个经典设计模式以及这些模式背后的 8 个基本设计原则进行了说明。
- 每章都会以一个真实世界的软件设计问题开篇, 然后使用其中一个模式来解决这个问题。
- 接着我们会详细分析该模式的结构及其变体, 然后给出相应的示例代码。
- 然后本书会展示该模式的不同应用, 讲解如何分步骤地实现该模式, 有时甚至会在已有程序中对其进行实现。
- 每章内容中还包括对模式优缺点的讨论, 探讨它与其他模式的关联、 相似和不同之处。
为什么你需要了解模式?
了解模式能帮助你轻松应对面试和考核。 几乎所有关于编程的工作面试和考核中都会有关于模式的问题。 了解这些知识能够帮助你发现更广泛的工作机会, 或者实现升职加薪的工作目标。
了解模式可扩展你的编程工具箱。 模式能让你对已有的解决方案进行自定义, 而不用完全自行开发。 代码中的错误将更少, 因为你使用的是经过证明的标准解决方案, 它考虑了所有隐藏的问题。
了解模式让你能够更好地与同事沟通。 你只需将模式的名称告诉给程序员, 而不需要长篇累牍地解释自己那绝妙的设计思想以及其中各个类的作用。 不费吹灰之力就能搞定同事之间的沟通。
谁适合读这本书?
模式初学者。 如果你从未学习过模式, 本书会讲解面向对象程序设计的基本原则, 并且提供真实示例。 在深入学习模式之前, 我们会先了解模式背后的基础性设计理念和原则。
希望复习模式知识的读者。 如果你以前学习过模式, 但是已经忘记了很多内容, 本书不仅能帮你重拾记忆, 还能是一本便捷的参考手册。 你可以快速找到自己感兴趣的章节, 无需从头到尾地进行阅读。
开始使用新编程语言的读者。 如果你正在着手使用一种新的面向对象的地的编程语言 (C#、 C++、 Go、 Java、 PHP、 Python、 Ruby、 Rust、 Swift 或 TypeScript), 那么本书中众多的真实世界示例和类比 (包含精心制作的图表) 将帮助你迅速抓住隐藏在字里行间的关键信息。
免费试读
你可以自行判断本书的质量。 试读版包括目录、 几篇简介章节、 三大设计原则和工厂方法设计模式。
强烈推荐, 保证满意
现在购买没有任何风险。 如果在购买一个月内, 你觉得本书没有太多帮助, 可以全额退款。 而且是无条件退款。
读者如何评价本书?
这是我见过讲得最明了的一个教程, 特别是那些配图很喜欢, 就是我刚买几天, 就从100多降到70多了。
重构的教程也大概看了下很不错, 等我理解透设计模式, 到时还会再买的
《深入设计模式》 是一本非常棒的书, 我非常喜欢。 目前我看了前两章, 对于书中的插图我印象深刻, 如果有机会我丰常乐意将此书推荐给我的同事和朋友。
已经读完了。 写得不错, 简单易懂, 插图很漂亮。 建议能有一些综合性的项目, 多个设计模式一起使用, 构建架构。
排版很舒服, 图文搭配也好, 内容详细, 语言不晦涩难懂, 总之物有所值, 很幸运能买到这本书。
> 1.你是否已经阅读过该书?
阅读了一些。
>2.你觉得它怎么样?
很不错, 生动形象。 对知识的抽象表达很让人容易理解
>3.你喜欢其中哪些内容? 不喜欢哪些内容?
没有喜欢与不喜欢, 但是这本书让我提升了很多
>4.对于如何改进它, 你有没有任何建议?
书很棒!!!
设计模式这本书很不错! 赞一个, 源码有go语言的支持就更好了。
我也非常期待重构的中文版, 不知道什么时候出来, 我一定会买
刚刚读完, 感觉很不错, 对设计模式讲解很到位, 很容易理解。 我看过headfirst写的那本, 感觉比headfirst写的更好些。
我已经阅读了书籍, 无意中发现了您的网站, 网站的风格还有样式和内容瞬间吸引了我。
喜欢您书籍的排版样式, 非常精致!
我觉得您的网站内容和书籍是很棒的, 有很多优秀的配图和实例来帮助理解, 对于初次了解设计模式和想要深入学习的人员都有很大的帮助。
谢谢你撰写了这样一本精彩绝伦的书。
我正在阅读 《深入设计模式》, 已经快阅读完了。
这是我读过的书中对设计模式讲解最为深刻而易于理解的书, 此前我也阅读过其他的设计模式相关书籍, 但他们的例子都不够贴近实际的工程实践, 反而让我觉得设计模式无用。
你的书让我重新意识到了工作中遇到的很多头疼的问题其实可以用某些模式。
非常期待 《深入重构》 的中文版!
我现在已经开始阅读 《深入设计模式》, 刚读完创建型模式。 暂时还没有学习课程 《深入重构》。 就我目前读到的内容来说, 不得不说, 你写的真的太棒了, 言简意赅, 图文并茂! 我读的是中文翻译版, 翻译的质量总体来说还是不错的, 很多计算机术语都翻译的很准确, 图片和代码中的注释也进行了中文化。 可以看得出, 翻译非常用心!
在内容设计上, 由问题出发引出对应设计模式的方式非常适合我。 最让我受益的内容一般是 “结构” 和 “伪代码”, 通常我会在这两部分花上大部分时间, 用来理解和佐证其它部分的描述。 在 “结构” 部分书中会用 UML 图解释该设计模式的基本结构。 我自己在阅读这一部分时, 常常会想如果不采用这种设计模式来解决问题, 按照我们最直接的、 未经重构的方式去解决问题, 呈现的代码结构会是怎样呢? 那样的话一定是一团乱麻, 但是我们何不用这团乱麻和使用设计模式的代码结构进行一个对比, 以此彰显设计模式带给我们的好处呢? 这是我的一点建议。 另外我注意到, 网页版相对于电子书包含额外一个内容——示例代码。 我猜可能这部分对于电子书来说很不容易排版, 但还是非常希望电子书之后也能包含这一部分内容。 这样对于阅读者来说会是很大的便利。
我很喜欢这本书, 对我来说可能 GoF 已经有些陈旧, 虽然他们很经典。 这本书的内容我更能接受, 也看得更开心! 我会和我的朋友们推荐你的书的, 等我学习完 《深入重构》 的课程后也会向你反馈。 总之, 谢谢你的书, 我觉得它物超所值。
所有内容都讲解得很清楚, 我喜欢本书的编排方式, 首先介绍所有基础知识 (UML 和 SOLID)、 然后再讲解每个设计模式并进行实践。 我觉得唯一需要改进的地方是最好能提供印刷版本 (我更喜欢纸质书), 或者提供其他语言的版本 (法语、 西班牙语、 中文?)。
你在购买后会获得什么?
四种格式的多语言版电子书
- 格式: PDF、 EPUB、 MOBI、 KFX
- 语言: 中文、 英文、 法文、 韩文、 日文、 葡萄牙文、 波兰文、 俄文、 西班牙文、 乌克兰文
- 页数: 382 页
- 图片: 225 幅图表
- 更新与修正: 完全免费
代码示例
- 示例语言: C#、 C++、 Go、 Java、 PHP、 Python、 Ruby、 Rust、 Swift 和 TypeScript
这是一本行文自然、 易于理解的电子书。 本书尽可能少地使用术语和技术性词汇, 最大化地使用代码示例和插图。
不与特定编程语言绑定。 代码示例使用伪代码, 能在绝大多数现代面向对象的编程语言中使用。
支持在任何设备上进行阅读。 电子书提供三种格式:
- EPUB 可在手机和平板电脑上阅读。
- MOBI、 KFX 可在亚马逊 Kindle 阅读器上阅读。
- PDF 可在任何设备上阅读或打印。
使用方便并支持搜索。 本电子书是一本方便的参考手册。 它与纸质书不同, 提供搜索功能, 而且不会遗失。 你在任何时候都能在智能手机、 平板电脑、 笔记本或台式机上阅读。
你可以在通勤途中或休息时享受绝佳的阅读体验。 如今, 如果不是在飞机、 公共汽车或地铁上, 你还能在哪里安静地学习呢? 好吧, 也许是在床上……
白天和晚上都能轻松阅读。 对夜猫子来说可算是个好消息了! 无论是在浅色背景的白天模式, 还是深色背景的夜间模式, 电子书的显示效果都非常好。
常见问题
还有更多问题?
你可在论坛中给我们发送私信, 或者发送电子邮件至 support@refactoring.guru。 我们通常会在几个小时内回复。