在对《Head First》系列至少有一点了解的人中,有很多人认为此类文献对于初学者来说是相当肤浅的阅读。我能说的是,在 48 小时内不太可能深入研究编程领域的复杂主题。然而,很难说《设计模式》是一本对初学者有用的编程指南。这本书是 Stackoverflow 上最受欢迎的十本书之一,这是有充分理由的。简单的演示、基本的主题和高质量的示例使得这本书现在很受欢迎,而且在我看来,在未来的许多年里也会如此。
本书特色
Head First 设计模式告诉我们什么是模式、如何使用它们以及如何思考它们。模式是一个模板,是一组特定问题的通用解决方案。 反过来,设计模式是常用的架构解决方案,可用于编写用户友好且灵活的应用程序。世界各地的开发人员用相同的方法解决相同的问题。正如注释所说,如果您不想重新发明轮子,请使用现成的设计模板(模式),这本书致力于使用这些模板。另外,值得注意的是材料的呈现:Head First 系列的书籍以其简单性而闻名,并且可以一口气读完。《设计模式》也不例外。它还遵循以下关键原则:- 能见度
- 对话式的演讲风格
- 大量插图
- 读者积极参与
- 诉诸情感
- 吸引读者的注意力
主题和核心思想
“肯定有人已经解决了你的问题” ——这就是本书第一章的开头,传达了编程中设计模式的全部含义。主要目标是向读者正确传达它们的含义,因为首先,程序员必须知道模式的用途以及需要在什么时候应用它们。本质上,您首先需要在头脑中将模板分类为小块,然后才将它们实施到程序中。如果编程初学者对模式有很好的理解,那么它们的使用可能会使代码变得非常复杂(但应该会简化它!)。对于“为什么要使用设计模式?”这个问题 书中给出了明确的答案:“了解抽象、继承和多态性等概念并不能让你成为一名优秀的 OO 设计师。这些模式包含经过验证的 OO 设计经验。”“概括”
本书分为14章加绪论。一开始,本书的作者试图让读者做好准备,调整他的大脑以正确感知有关图案设计的信息。第一章解释了模式的基本原理以及它们的用途。最常用的模式之一——策略——可以轻松、不引人注目地进行检查。第二章到第十一章专门对各个模式进行详细分析:- 观察者。将事件分发到对其发生感兴趣的对象之间。
- 装饰师。另一个视角是 Java 中的继承,以及在不修改代码的情况下赋予 Java 类新功能。
- 工厂。该模式使代码免于不必要的依赖。
- 单身的。也称为 Singleton,它允许您为整个程序创建单个类对象。
- 团队。该模式允许您方便地封装方法调用,扩展其功能。
- 适配器和外观。解决接口不兼容的问题,以及封装对象以简化其接口。
- 模板法。算法块的封装,允许子类随时关联所需的处理算法。
- 迭代器和链接器。该模式提供了一个方便的工具来迭代集合,无论其类型如何。此外,本章还提供了一些有关超级集合的信息。
- 状态。对象被赋予了通过改变其内部状态来控制其行为的能力。
- 副。用于控制对对象的访问的非常方便的模式。
的优点和缺点
我和许多在 JavaRush 学习的人一样,对枯燥的讲座、死记硬背的材料以及其他对学生求知心理的暴力行为持冷漠的态度。在我看来,花在记忆难以理解的文本上的精力最好花在寻找替代的学习来源上。这本书是一本值得你花时间和精力的书。出色的演示风格、对读者注意力的有效管理以及要点的重复构成了本书的主要优势——易于吸收材料。大量插图是一个额外的优点。在我看来,书中的每张图片都有它的作用:它们都可以让你强化作者的话,更深入地理解材料的本质。正如我上面所写,这本书不是一本参考书:它的作者并不打算列出所有模式。它的主要任务是提供理解并讨论基本模式,以便其他更复杂的模式更容易理解。她百分百应付这个问题。缺点之一是俄语的 Head First 设计模式不像英语那样容易阅读。当然,每个开发人员都应该会说英语,但是新手程序员并不总是将这种技能发展到可以阅读原著书籍的程度。然而,这可以被认为是强制减分,因为材料的呈现非常准确并且含义得到了保留。有关设计模式的其他书籍
我支持这样一种信念:最好从多个来源研究基本主题并从中寻找合适的演示风格。当你想深入研究模式并阅读更多理论时,相信我,你晚上会有事可做。-
面向对象的设计技术。设计模式(Gamma E.、Helm R.、Johnson R.、Vlissides J.)。
这是一本比较严肃的出版物,一本模式参考书,一本来自“四人帮”的非常受人尊敬的书。许多人称其为面向对象设计的圣经。
在互联网上,开发者的意见分为3个阵营:
- 有些人认为这本书已经过时,而且其呈现风格让人无法阅读
- 其他人建议仅将本书用作模式参考书,仅此而已
- 还有一些人说这本书是设计模式的圣杯,任何想要有一天成为高级 Java 开发人员的人都应该阅读这本书
重要的:书中的例子是用C++编写的。
-
Java EE。专业人士的设计模式(Murat Yener、Alex Fidom)。
本书致力于企业应用程序的设计:它涵盖了现实生活中应用程序问题的许多示例。
-
Java 中的设计模式(Grand M.)。
本书生动地演示了模式的使用如何节省开发人员的时间,提供了 UML 语言的概述,并描述了 47 种设计模式。
GO TO FULL VERSION