【设计模式学习笔记】1. 设计模式概述

学习声明:

本笔记仅供博主个人学习记录。

参考课程来自: 【【狂神说Java】通俗易懂的23种设计模式教学(停更)】

一、设计模式概述:

  1. 设计模式:
  • 前辈对代码开发经验的总结,用于解决特定问题的一系列套路。

-> 用于提高代码可复用性,可维护性,稳健性,安全性,灵活性。

  1. 意义:

是一种针对面向对象编程OOP的实质应用。(三大特性:封装、继承、多态)

-> 面向对象编程:核心概念为(类和对象),通过对象封装数据和方法,以组织代码。

  • 面向过程编程用不到设计模式:

面向过程编程:核心概念为函数和过程,通过函数划分代码模块,按照步骤一步步实现功能;(应用场景例如算法实现,和小型程序等)

  1. 基本要素:

(1)模式名称

(2)解决的问题:使用场景

(3)解决方案

(4)效果:优缺点,时间/空间复杂度

e.g. 单例模式 ------> 系统开销

  1. GoF23 (Group Of Four,四人帮写的书):共23种设计模式

设计模式分类:

  1. 创建型模式:

单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式。

------ 对对象的创建和使用进行分离。

  1. 结构模式:

适配器模式,桥接模式,装饰模式,组合模式。

------ 描述如何将类或者对象组成一种更大的结构。

  1. 行为型模式:

模版方法模式,命令模式,迭代器模式,观察模式,中介模式,备忘录模式,解释器模式,状态模式,策略模式,责任链模式,访问者模式。

------ 描述类或对象之间如何相互协作共同完成单个对象无法完成的任务。【分配职责】

相关推荐
盛世宏博北京几秒前
十二防档案库房总线架构设计:恒湿消毒净化一体机 RS485 组网实战笔记
开发语言·笔记·php·恒湿机·档案八防温湿度
zyseo82 分钟前
谷歌SEO 站点地图优化实战:sitemap 是索引候选清单的运营工具
网络·数据库·经验分享·笔记·搜索引擎
浅念-7 分钟前
动态规划:线性DP——多状态DP与子数组专题笔记
c++·笔记·算法·leetcode·职场和发展·动态规划·力扣
跨知易知识产权7 分钟前
申请过程中如果需要调整策略(如加快 / 延迟审查),流程管理可以同步调整排期吗?
笔记
霖霖71419 分钟前
【ESP32笔记】蓝牙BLE连接与广播
笔记·单片机·mcu·物联网
额额额对了30 分钟前
Linux 驱动学习笔记(部分)
linux·笔记·学习
霖霖7141 小时前
【ESP32笔记】SmartConfig一键配网
笔记·单片机·mcu·物联网
我命由我123451 小时前
ReAct 循环
学习·ai·产品运营·学习方法·ai编程·ai写作·产品
霖霖7141 小时前
【ESP32笔记】WIFI连接—STA模式
笔记·单片机·mcu·物联网
for_ever_love__1 小时前
LangGraph Checkpointer:持久化、断点续跑与多轮记忆
服务器·数据库·学习·持久化·langgraph·checkpointer·断点续跑