设计模式定义、分类和基本要素

2. 初识设计模式

2.1 设计模式定义

设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码,让代码更容易被他人理解、保证代码的可靠性。

2.2 设计模式基本要素

  • 模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式
  • 关键元素包括以下四个方面
    • 模式名称:通过一两个词来描述模式的问题、解决方案和效果,多数模式是根据其功能或者模式结构来命名的。
    • 问题:描述了应该在何时使用模式,包含了设计中存在的问题以及问题存在的原因。
    • 解决方案:描述了设计模式的组成成分,以及这些组成成分之间的相互关系,各自的职责和协作方式。解决方案通过类图和核心代码来进行说明。
    • 效果:描述了模式应用的效果以及在使用模式时应该权衡的问题。包含了模式的优缺点分析

2.3 设计模式的分类

  • 根据目的(模式是用来做什么的)可以分为创建型(Creational)、结构型(Structural)和行为型(Behavioral)三种

    • 创建型模式:用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GoF 中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。
    • 结构型模式:用于描述如何将类或对象按某种布局组成更大的结构,GoF 中提供了代理、适配器、桥接、装饰、外观、享元、组合等 7 种结构型模式。
    • 行为型模式:用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及怎样分配职责。GoF 中提供了模板方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录、解释器等 11 种行为型模式。
  • 根据范围(模式主要是用于类之间的关系还是处理对象之间的关系)可以分为类模式和对象模式两种

    • 类模式处理类和子类关系,这些关系通过继承确立,在编译的时候就被确定了,是静态的。
    • 对象模式处理对象的关系,时刻变化,有动态性。

posted @   靠谱杨  阅读(918)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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代码运行成功但是数据库数据没有更新

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示