设计模式定义、分类和基本要素
2. 初识设计模式
2.1 设计模式定义
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码,让代码更容易被他人理解、保证代码的可靠性。
2.2 设计模式基本要素
- 模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式
- 关键元素包括以下四个方面
- 模式名称:通过一两个词来描述模式的问题、解决方案和效果,多数模式是根据其功能或者模式结构来命名的。
- 问题:描述了应该在何时使用模式,包含了设计中存在的问题以及问题存在的原因。
- 解决方案:描述了设计模式的组成成分,以及这些组成成分之间的相互关系,各自的职责和协作方式。解决方案通过类图和核心代码来进行说明。
- 效果:描述了模式应用的效果以及在使用模式时应该权衡的问题。包含了模式的优缺点分析
2.3 设计模式的分类
-
根据目的(模式是用来做什么的)可以分为创建型(Creational)、结构型(Structural)和行为型(Behavioral)三种
- 创建型模式:用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GoF 中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。
- 结构型模式:用于描述如何将类或对象按某种布局组成更大的结构,GoF 中提供了代理、适配器、桥接、装饰、外观、享元、组合等 7 种结构型模式。
- 行为型模式:用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及怎样分配职责。GoF 中提供了模板方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录、解释器等 11 种行为型模式。
-
根据范围(模式主要是用于类之间的关系还是处理对象之间的关系)可以分为类模式和对象模式两种
- 类模式处理类和子类关系,这些关系通过继承确立,在编译的时候就被确定了,是静态的。
- 对象模式处理对象的关系,时刻变化,有动态性。
好看请赞,养成习惯:) 本文来自博客园,作者:靠谱杨, 转载请注明原文链接:https://www.cnblogs.com/rainbow-1/p/15626898.html
欢迎来我的51CTO博客主页踩一踩 我的51CTO博客
文章中的公众号名称可能有误,请统一搜索:靠谱杨的秘密基地
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2020-11-30 【已解决】JDBC --- update代码运行成功但是数据库数据没有更新