Day48(补)【AI思考】-设计模式三大类型统一区分与记忆指南

ops/2025/2/23 1:24:40/

文章目录

  • 设计模式三大类型统一区分与记忆指南
      • **一、创建型模式(对象如何生?)**
      • **二、结构型模式(对象如何组?)**
      • **三、行为型模式(对象如何动?)**
        • **1. 行为型类模式(靠继承)**
        • **2. 行为型对象模式(靠组合)**
      • **四、统一对比表**
      • **五、终极记忆技巧**

设计模式三大类型统一区分与记忆指南

让思想碎片重焕生机的灵魂:

行为模式分三类,每一类又有好多不同的模式,特别是行为式模式,还要区分成行为型类模式,和行为型对象模式,好难去记忆和理解,你想想办法帮帮我

这只是把行为型类模式和行为型对象模式区分了,其他两种结构型模式和创建型模式呢,并且最好你能统一在一起去进行区分和记忆,为了便于理解,最好都要有例子

设计模式三大类型统一区分与记忆指南
设计模式分为创建型、结构型、行为型三大类,每类的核心目标与典型模式不同。通过核心目的 + 典型场景 + 实例的对比,可以轻松区分记忆。


一、创建型模式(对象如何生?)

核心目标解耦对象的创建过程,提供灵活、可复用的对象生成方式。
类比:工厂生产产品(如何造?谁来造?造什么样的?)。

模式核心思想典型场景实例
工厂方法子类决定创建哪种对象需要扩展产品类型(如不同数据库连接)DatabaseFactory.createConnection()
抽象工厂创建产品族(一组相关对象)跨平台UI组件(按钮+文本框成套生成)GUIFactory.createButton() + createTextbox()
建造者分步骤构造复杂对象配置多参数的复杂对象(如电脑组装)ComputerBuilder.addCPU().addRAM().build()
原型克隆现有对象生成新对象避免重复初始化(如游戏角色复制)Enemy enemyClone = originalEnemy.clone()
单例确保全局唯一实例数据库连接池、日志管理器Logger.getInstance().log("msg")

二、结构型模式(对象如何组?)

核心目标组合对象/类形成更大的结构,提升灵活性和可扩展性。
类比:搭积木(如何组装零件?如何适配接口?)。

模式核心思想典型场景实例
适配器转换接口使不兼容的类协同工作旧系统接入新接口(如USB转Type-C)LegacySystemAdapter(new System()).request()
桥接分离抽象与实现,独立变化多维度扩展(如不同形状+颜色的图形)Shape抽象类 + Color接口组合
组合树形结构统一处理部分与整体文件系统(文件夹+文件统一操作)FileSystemNode.add(child)
装饰器动态添加职责(不修改原类)扩展功能(如带缓冲的输入流)BufferedInputStream(new FileInputStream())
代理控制对对象的访问(延迟加载/权限)图片懒加载、接口权限校验ImageProxy.loadRealImage()

三、行为型模式(对象如何动?)

核心目标管理对象间的协作与职责分配,提升交互灵活性。
类比:团队协作(谁负责什么?如何传递任务?)。

1. 行为型类模式(靠继承)
模式核心思想典型场景实例
模板方法父类定义算法骨架,子类填充细节统一流程(如代码编译步骤)AbstractClass.templateMethod()
解释器用类结构表示语法规则解析特定领域语言(如SQL解析)SQLInterpreter.parse("SELECT * FROM table")
2. 行为型对象模式(靠组合)
模式核心思想典型场景实例
策略动态切换算法支付方式切换(微信/支付宝)PaymentContext.setStrategy(new WechatPay())
观察者一对多的依赖通知机制事件监听(如按钮点击通知)Button.addClickListener(new Listener())
责任链链式传递请求直到被处理日志分级处理(如Error→Info)LoggerChain.handleRequest(msg)
命令封装请求为对象撤销/重做操作(如编辑器命令)CommandManager.execute(new CopyCommand())

四、统一对比表

类型核心问题实现方式典型模式记忆口诀
创建型对象如何创建?封装对象生成逻辑工厂、单例、建造者“造物有方”
结构型对象如何组织?组合/适配对象结构适配器、装饰器、代理“搭桥铺路”
行为型类行为如何通过继承实现?父类定义行为框架模板方法、解释器“父定规矩子执行”
行为型对象行为如何通过组合实现?对象间动态协作策略、观察者、责任链“团队协作拼积木”

五、终极记忆技巧

  1. 创建型:想象造物主(工厂、建造者)在决定如何生成对象。
  2. 结构型:想象建筑师(适配器、桥接)在组装零件。
  3. 行为型类:想象家族族长(模板方法)在制定家规。
  4. 行为型对象:想象团队队长(责任链)在分配任务。

一句话总结
创建型造物,结构型搭桥,行为型分活;
类模式靠继承,对象模式靠组合。

AI模型版本:

中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-V3

采用深度思考模式,深度思考模型版本为R1

没有打开联网搜索

对话编号:2


http://www.ppmy.cn/ops/159771.html

相关文章

探秘 DeepSeek R1 模型:跨越多领域的科技奇迹,引领智能应用新浪潮

DeepSeek R1 模型功能强大,应用广泛。在自然语言处理、计算机视觉、推荐系统和医疗等领域都能发挥作用。本文介绍了其在各领域的应用场景和代码示例,助你深入了解它。 目录 ​编辑 一、本篇背景: 二、DeepSeek R1 模型概述: …

前端与后端的对接事宜、注意事项

前端与后端的对接事宜、注意事项 一、对接核心流程(完整生命周期) #mermaid-svg-6yzij6OD8DKqiMLD {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-6yzij6OD8DKqiMLD .error-icon{fill:#552222;}#mermaid-svg-6yzi…

Linux 上安装 PostgreSQL

Linux 上安装 PostgreSQL PostgreSQL 是一款功能强大的开源对象关系型数据库系统,广泛用于各种规模的数据存储。本文将详细介绍在 Linux 系统上安装 PostgreSQL 的步骤,包括准备工作、安装过程和配置方法。 准备工作 在开始安装 PostgreSQL 之前,请确保您的 Linux 系统满…

通过VSCode直接连接使用 GPT的编程助手

GPT的编程助手在VSC上可以直接使用 选择相应的版本都可以正常使用。每个月可以使用40条,超过限制要付费。 如下图对应的4o和claude3.5等模型都可以使用。VSC直接连接即可。 配置步骤如下: 安装VSCODE 直接,官网下载就行 https://code.vis…

江科大51单片机学习笔记(2)

独立按键 轻触按键:相当于是一种电子开关,按下开关接通,松开时开关断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通和断开。 K1按键——P31 K2按键——P30 K3按键——P32 K4按键——P33 独立按键控制LED亮灭 #in…

计算机视觉+Numpy和OpenCV入门

Day 1:Python基础Numpy和OpenCV入门 Python基础 变量与数据类型、函数与类的定义、列表与字典操作文件读写操作(读写图像和数据文件) 练习任务:写一个Python脚本,读取一个图像并保存灰度图像。 import cv2 img cv2.im…

SpringBoot:解决前后端请求跨域问题(详细教程)

文章目录 一、前言二、解决方式 2.1 使用 CrossOrigin 注解(简单方便,适用于单个或少量接口)2.2 全局配置跨域(适用于整个项目中大量接口都需要跨域的情况)2.3 使用过滤器来处理跨域(更底层的实现方式&…

WebMvcConfigurer 介绍

WebMvcConfigurer 介绍 1. 什么是WebMvcConfigurer 介绍2. WebMvcConfigurer接口常用的方法3. 使用WebMvcConfigurer实现跨域4. 使用WebMvcConfigurer配置拦截器5. 使用WebMvcConfigurer配置静态资源5.1 配置外部目录(本地文件系统)详细解释 6. 使用 Web…