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

Qt 工程师进阶技术23种设计模式

Qt 工程师进阶技术23种设计模式

  • 【1】23种设计模式


在这里插入图片描述


【1】23种设计模式

设计模式是解决特定问题的一系列套路,这套方案提高代码可复用性、可读性、稳健性、可维护性及安全性
23种设计模式可分为三类:结构型模式(侧重类与对象之间的组合)、行为型模式(侧重对象之间的通信)、创建型模式(侧重对象的创建)。

结构型模式(7种):代理模式、桥接模式、适配器模式、外观模式享、享元模式、组合模式、装饰器模式

行为型模式(11种)︰备忘录模式、访问者模式、解释器模式、迭代器模式、中介模式、观察者模式、状态模式、责任链模式、命令模式、策略模式、模板方法模式。

创建型模式(5种):单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式。


一、对象性能之Singleton(单例模式)/Flyweight(享元模式)

1、单例模式(本质就是控制实例数目)定义:保证一个类仅有一个实例,并提供一个该实例的全局访问点。实例构造器一般设备为private,但是也可以设置为protected 以允许子类派生。一般情况不要支持拷贝构造函数和Clone接口。

2、单例的优点和缺点
时间和空间:懒汉式是典型的时间换出空间。饿汉式是典型的空间换时间。
线程安全:不加同步的懒汉式的线程不安全的。饿汉式是线程安全的。

3、享元模式优点和缺点
减少对象数量,节省内存空间。维护共享对象,需要额外开销。

二、接口隔离之Facade(外观模式)/Proxy(代理模式)/Mediator(中介者模式)/Adapter(适配器模式)

1、外观模式定义:为子系统中的一组接口提供一个一致(稳定)的界面。facade
模式定义一个高层接口,这个接口使得–子系统更加容易使用(复用)。

http://www.lryc.cn/news/12381.html

相关文章:

  • Redis 强化
  • 华为OD机试题 - 众数和中位数(JavaScript)
  • Go: expected pseudo-register found R13 error
  • 程序员必备的技能-深入理解 Linux 内核拆解
  • 学习 Python 之 Pygame 开发坦克大战(三)
  • Docker 学习笔记
  • 华为OD机试 - 相同数字的积木游戏1(JS)
  • Linux系统之iptables应用SNAT与DNAT
  • 2023美赛ABCDEF思路汇总
  • Damask和abaqus晶体塑性联合仿真培训通知
  • 用javascript分类刷leetcode17.栈(图文视频讲解)
  • 转换大小写与完成字符串反转
  • 大数据框架之Hadoop:MapReduce(三)MapReduce框架原理——InputFormat数据输入
  • 【Opencv 系列】 第4章 直方图
  • C#反射原理
  • python+vue微信小程序的线上服装店系统
  • 众德全自动批量剪辑工具,批量去重伪原创视频,全自动合成探店带货等视频
  • 【项目精选】基于网络爬虫技术的网络新闻分析(论文+源码+视频)
  • 华为OD机试 - 任务混部(JS)
  • Matlab搭建AlexNet实现手写数字识别
  • 比较全面的HTTP和TCP网络传输的单工、全双工和半双工
  • CSS Houdini
  • C++引用
  • YOLOv6-目标检测论文解读
  • 【factoryio】使用SCL编写 <机械手控制> 程序
  • QT学习记录散件
  • [SSD科普之1] PCIE接口详解及应用模式
  • Linux设备驱动模型与 sysfs实现分析
  • 软考高级之制定备考计划
  • [Pytorch] Linear层输出nan