• 1.单例模式
      • 2.工厂方法模式
      • 3.抽象工厂模式
      • 4.建造者模式
      • 5.原型模式
      • 6.适配器模式
      • 7.代理模式
      • 8.装饰模式
      • 9.外观模式
      • 10.桥接模式
      • 11.组合模式
      • 12.享元模式
      • 13.观察者模式
      • 14.策略模式
      • 15.命令模式
      • 16.中介者模式
      • 17.备忘录模式
      • 18.模板方法模式
      • 19.迭代器模式
      • 20.状态模式
      • 21.责任链模式
      • 22.解释器模式
      • 23.访问者模式
      • Vibe Coding 时代下的全栈开发
      • 从按下电源到访问网站发生了什么
      • 从晶体管到 CPU
      • 计算机组成原理
      • 操作系统:给电脑请个"大管家"
      • 什么是数据的编码与传输?
      • 浏览器是一个操作系统
      • 数据结构
      • 算法思维入门
      • 编程语言图谱
      • 编译原理入门
      • 类型系统入门
      • 集成开发环境 (IDE) 基础
      • 命令行与 Shell 脚本
      • Git:代码的时光机
      • 环境变量与 PATH
      • 端口与 localhost
      • SSH 与密钥认证
      • 包管理器
      • 调试的艺术
      • 正则表达式
      • JavaScript 深度指南
      • TypeScript 深度指南
      • 前端框架深度指南
      • 前端框架的本质
      • 浏览器渲染管道
      • HTML / CSS 布局体系
      • JavaScript 运行时深度指南
      • 状态管理哲学
      • 路由与导航
      • 图形与动画(Canvas 与他的朋友们)
      • 实时通信机制(Polling / SSE / WebSocket)
      • 网页性能的度量与优化
      • 前端工程化全貌
      • 前端项目架构设计
      • 网页的隐藏维度:国际化与无障碍
      • 后端语言对比
      • 客户端语言(Swift / Kotlin / Dart)
      • 跨平台方案(React Native / Flutter / Electron / Tauri)
      • HTTP 协议:前后端的"通信语言"
      • 一个请求的完整旅程
      • Web 框架的本质
      • API 入门:从零理解"程序之间的对话"
      • API 设计:前后端的"对话协议"
      • 序列化:数据的"翻译"
      • 认证与授权体系
      • 并发、异步与多线程
      • 缓存的层次与策略
      • 消息队列与事件驱动
      • 异步任务队列与生产消费模型
      • 限流与背压控制
      • 搜索引擎原理
      • 文件存储与对象存储
      • 后端分层架构
      • 后端项目架构设计
      • 领域特定语言(DSL):后端世界中那些"不像代码的代码"
      • 从单体到微服务的演进
      • 分布式系统的挑战
      • 高可用与容灾
      • 系统设计方法论
      • AI 简史:从符号逻辑到千亿参数大模型
      • 神经网络与深度学习
      • Transformer 与注意力机制:大模型的核心引擎
      • 大语言模型的工作原理
      • 提示词工程 (Prompt Engineering)
      • 上下文工程
      • 多模态模型(视觉 / 音频 / 视频)
      • 图像生成原理
      • 语音合成与识别原理
      • Embedding 与向量检索
      • RAG:检索增强生成
      • AI Agent 与工具调用
      • AI Agent 协议(MCP & A2A)
      • 模型微调与部署
      • AI 原生应用设计
      • AI 能力词典
        • 1.为什么要学习Fyne?
        • 2.第一个小项目
        • 3.处理多窗口问题
        • 4.Go基础速通
        • 5.更复杂的项目
          • Fyne-Markdown编辑器
          • Fyne-趣味整活项目
      • 1.Go的面向对象
      • 2.Go的并发编程
      • 3.Go常用库
      • 4.Go-net-http
      • 5.Go-gRPC
      • 6.Go-Gin
      • 7.Go-GORM
      • 8.Go-Kafka
      • 9.Go-Wire
      • 10.Go-Kratos
      • 1.HTML
      • 2.CSS
      • 3.JavaScript
      • 4.Vue
      • 代码质量与重构
      • 测试策略
      • 设计模式
      • 安全思维与攻防基础
      • 技术文档写作
      • 开源协作
      • 技术选型方法论
    • 第一篇WIKI
      • 数据库原理(索引 / 事务 / 查询优化)
      • 数据模型全景(文档 / 图 / 时序 / 向量)
      • 数据埋点:记录用户在应用中做了什么
      • 数据分析:核心概念、逻辑与深度洞察
      • A/B 测试:用数据"做决策"
      • 数据可视化与仪表盘
      • 数据治理与数据质量
      • Docker 容器化
      • Linux 基础
      • Kubernetes 编排
      • CI / CD 自动化
      • 域名、DNS 与 HTTPS
      • 负载均衡与网关
      • 网关与反向代理
      • 云平台实战
      • 云身份与权限管理
      • 对象存储与 CDN
      • 基础设施即代码
      • 监控、日志与告警
      • 故障排查与应急响应
        • 1.Containerd轻量级or工业级的容器管理工具
        • 1.Docker镜像基本操作和介绍
        • 2.Docker容器镜像国内加速及本地容器镜像仓库搭建
        • 3.Dockerfile介绍
      • 1.容器技术所涉及的Linux内核关键技术
      • 1.Kubernetes-v1.28.3高可用集群二进制部署(IPv4+IPv6双栈)
      • 2.Kubernetes-v1.30.2高可用集群二进制部署(IPv4+IPv6双栈)
      • 3.升级二进制部署的kubernetes集群
      • 4.Kubernetes核心概念介绍
    • 1.Nginx配置小全
      • Syntax Highlighting
      • KaTex
      • Mermaid
      • Alerts
      • Tables
      • Tabs
      • Prism
      • Markdownify
      • KaTex
  • GitHub
  • to navigate
  • to select
  • to close
    • Home
    • DEV
    • 23种设计模式
    Code

    23种设计模式

    23 种经典设计模式的原理与实践

    article

    1.单例模式

    单例模式是一种创建型设计模式, 它的核心思想是保证一个类只有一个实例,并提供一个全局访问点来访问这个实例。

    article

    2.工厂方法模式

    简单工厂模式的核心思想是将产品的创建过程封装在一个工厂类中,把创建对象的流程集中在这个工厂类里面。

    article

    3.抽象工厂模式

    抽象工厂模式也是一种创建型设计模式,提供了一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类

    article

    4.建造者模式

    将对象的构建过程分为多个步骤,并为每个步骤定义一个抽象的接口。具体的构建过程由实现了这些接口的具体建造者类来完成。

    article

    5.原型模式

    原型模式一种创建型设计模式,该模式的核心思想是基于现有的对象创建新的对象,而不是从头开始创建。

    article

    6.适配器模式

    它可以将一个类的接口转换成客户希望的另一个接口,主要目的是充当两个不同接口之间的桥梁,使得原本接口不兼容的类能够一起工作。

    article

    7.代理模式

    代理模式中,允许一个对象(代理)充当另一个对象(真实对象)的接口,以控制对这个对象的访问。

    article

    8.装饰模式

    通常情况下,扩展类的功能可以通过继承实现,但是扩展越多,子类越多,装饰模式可以在不定义子类的情况下动态的给对象添加一些额外的功能。

    article

    9.外观模式

    外观模式Facade Pattern, 也被称为“门面模式”,是一种结构型设计模式,外观模式定义了一个高层接口,这个接口使得子系统更容易使用,同时也隐藏了子系统的复杂性。

    article

    10.桥接模式

    桥接模式是一种结构型设计模式,它的UML图很像一座桥,它通过将【抽象部分】与【实现部分】分离,使它们可以独立变化,从而达到降低系统耦合度的目的。

    article

    11.组合模式

    组合模式是一种结构型设计模式,它将对象组合成树状结构来表示“部分-整体”的层次关系。组合模式使得客户端可以统一处理单个对象和对象的组 合,而无需区分它们的具体类型。

    article

    12.享元模式

    享元模式是一种结构型设计模式,在享元模式中,对象被设计为可共享的,可以被多个上下文使用,而不必在每个上下文中都创建新的对象。

    article

    13.观察者模式

    观察者模式(发布-订阅模式)属于行为型模式,定义了一种一对多的依赖关系,让多个观察者对象同时监听一个主题对象,当主题对象的状态发生变化时,所有依赖于它的观察者都得到通知并被自动更新。

    article

    14.策略模式

    策略模式是一种行为型设计模式,它定义了一系列算法(这些算法完成的是相同的工作,只是实现不同),并将每个算法封装起来,使它们可以相互替换,而且算法的变化不会影响使用算法的客户。

    article

    15.命令模式

    命令模式是一种行为型设计模式,其允许将请求封装成一个对象(命令对象,包含执行操作所需的所有信息),**并将命令对象按照一定的顺序存储在队列中,然后再逐一调用执行,这些命令也可以支持反向操作,进 …

    article

    16.中介者模式

    中介者模式(Mediator Pattern)也被称为调停者模式,是一种行为型设计模式,它通过一个中介对象来封装一组对象之间的交互,从而使这些对象不需要直接相互引用。这样可以降低对象之间的耦合度,使系 …

    article

    17.备忘录模式

    备忘录模式(Memento Pattern)是一种行为型设计模式,它允许在不暴露对象实现的情况下捕获对象的内部状态并在对象之外保存这个状态,以 便稍后可以将其还原到先前的状态。

    article

    18.模板方法模式

    模板方法模式(Template Method Pattern)是一种行为型设计模式, 它定义了一个算法的骨架,将**一些步骤的实现延迟到子类。**模板方法模式使得子类可以在不改变算法结构的情况下,重新 …

    article

    19.迭代器模式

    迭代器模式是一种行为设计模式,是一种使用频率非常高的设计模式,在各个语言中都有应用,其主要目的是**提供一种统一的方式来访问一个聚合对象中的各个元素,**而不需要暴露该对象的内部表示。通过迭代器,客户 …

    article

    20.状态模式

    状态模式(State Pattern)是一种行为型设计模式,它适用于一个对象在在不同的状态下有不同的行为时,比如说电灯的开、关、闪烁是不停的状态,状态不同时,对应的行为也不同,在没有状态模式的情况下, …

    article

    21.责任链模式

    责任链模式是一种行为型设计模式,它允许你构建一个对象链,让请求从链的一端进入,然后沿着链上的对象依次处理,直到链上的某个对象能够处理该请求为止。

    article

    22.解释器模式

    解释器模式(Interpreter Pattern)是一种行为型设计模式,它定义了一个语言的文法,并且建立一个【解释器】来解释该语言中的句子。

    article

    23.访问者模式

    访问者模式(Visitor Pattern)是一种行为型设计模式,可以在不改变对象结构的前提下,对对象中的元素进行新的操作。

    © 2026 Maxbit