当前位置: 首页 > article >正文

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

学习声明:

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

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

一、设计模式概述:

1. 设计模式:

        - 前辈对代码开发经验的总结,用于解决特定问题的一系列套路。

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

2. 意义:

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

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

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

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

3. 基本要素:

        (1)模式名称

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

        (3)解决方案

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

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

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

设计模式分类:

        1. 创建型模式:

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

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

        2. 结构模式:

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

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

        3. 行为型模式:

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

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


http://www.kler.cn/a/456449.html

相关文章:

  • 系统设计及解决方案
  • EndtoEnd Object Detection with Transformers
  • BOOST 库在缺陷检测领域的应用与发展前景
  • 1、redis的基础知识和类型
  • Docker部署neo4j
  • JDBC(Tomcat)
  • 深入探索哈夫曼编码与二叉树的遍历
  • 三、STM32MP257系列之定制Yocto Machine
  • 《PHP MySQL 插入数据》
  • Pytorch | 利用VA-I-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
  • SD ComfyUI工作流 对人物图像进行抠图并替换背景
  • numpy的repeat和pytorch的repeat区别
  • CSS实现一个自定义的滚动条
  • 虚幻引擎反射机制
  • LabVIEW故障诊断中的无故障数据怎么办
  • C语言性能优化:从基础到高级的全面指南
  • python wxauto库实现微信自动化发送信息、回复、添加好友等
  • 五十一:HPACK如何减少HTTP头部的大小?
  • 条款20 当std::shared_ptr 可能悬空的时候使用std::weak_ptr
  • 第二十三章 C++ 继承