1994 年,埃里希·伽玛、 约翰·弗利 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 赛德斯、 拉尔夫·约翰逊和理查德·赫尔姆这四位作者出版了 《[设计模式: 可复用面向对象软件的基础](()》 一书, 将设计模式的概念应用到程序开发领域中。 该书提供了 23 个模式来解决面向对象程序设计中的各种问题, 很快便成为了畅销书。 由于书名太长, 人们将其简称为 “四人组 (Gang of Four, GoF) 的书”, 并且很快进一步简化为 “GoF 的书”。
[](()什么是设计模式
一句话:设计模式是软件设计中常见问题的典型解决方案。 它们就像能根据需求进行调整的预制蓝图, 可用于解决代码中反复出现的设计问题。
[](()和算法有什么区别
其实两者都是问题的通用解决方案,区别在于:
算法更像是菜谱
: 提供达成目标的明确步骤。 而模式更像是蓝图
: 你可以看到最终的结果和模式的功能, 但需要自己确定实现步骤。
[](()2.设计模式分类
了解其分类只要帮助我们整体理解和记忆设计模式,23种,数量可不少,光记名字就不简单。
[](()根据目的来分
-
创建型模式:用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。