什么是设计模式
- 软件设计模式(Software Design Pattern)又称设计模式
- 是一套被反复使用、多数人知晓的、代码设计经验的总结
- 它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案
- 也就是说,它是解决特定问题的一系列套路,具有一定的普遍性,可以反复使用代码设计经验的总结
为什么要学习设计模式
- 使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期
- 使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强
- 可以提高程序员的思维能力、编程能力和设计能力
- 软件设计模式只是一个引导。在具体的软件幵发中,必须根据设计的应用系统的特点和要求来恰当选择
- 对于简单的程序开发,可能写一个简单的算法要比引入某种设计模式更加容易。但对大项目的开发或者框架设计,用设计模式来组织代码显然更好
GoF 23种设计模式
- 1995 年,艾瑞克 · 伽马(ErichGamma)理査德 · 海尔姆(Richard Helm)拉尔夫 · 约翰森(Ralph Johnson)约翰 · 威利斯迪斯(John Vlissides)等 4 位作者
- 合作出版了
《设计模式:可复用面向对象软件的基础》
- 在本教程中收录了
23
个设计模式,这是设计模式领域里程碑的事件
- 这 4 位作者在软件开发领域里也以他们的 “四人组”(Gang of Four,GoF)匿名著称
设计模式分类
- 根据模式是用来完成什么工作来划分,这种方式可分为创建型模式、结构型模式和行为型模式 3 种
创建型模式 5种
- 用于描述 “怎样创建对象”,它的主要特点是 “将对象的创建与使用分离”
- 工厂方法设计模式
- 抽象工厂设计模式
- 单例设计模式
- 原型设计模式
- 建造者设计模式
结构型模式 7种
- 代理设计模式
- 适配器设计模式
- 桥接设计模式
- 装饰器设计模式
- 外观设计模式
- 享元设计模式
- 组合设计模式
行为型模式 11种
- 用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及怎样分配职责
- 模板方法设计模式
- 策略设计模式
- 命令设计模式
- 职任链设计模式
- 状态设计模式
- 观察者设计模式
- 中介者设计模式
- 迭代器设计模式
- 访问者设计模式
- 备忘录设计模式
- 解释器设计模式
posted @
2021-07-12 09:11
BNTang
阅读(
63)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具