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

C++ 新经典:设计模式 目录(先留框架,慢慢来~)

C++ 新经典:设计模式

C++ 新经典:设计模式

  • C++ 新经典:设计模式
    • 第1章 设计模式与软件开发思想、编程环境介绍
    • 第2章 模板方法模式
    • 第3章 工厂模式、原型模式、建造者模式
    • 第4章 策略模式
    • 第5章 观察者模式
    • 第6章 装饰模式
    • 第7章 单件模式
    • 第8章 外观模式
    • 第9章 命令模式
    • 第10章 迭代器模式
    • 第11章 组合模式
    • 第12章 状态模式
    • 第13章 享元模式
    • 第14章 代理模式
    • 第15章 适配器模式
    • 第16章 桥接模式
    • 第17章 中介者模式
    • 第18章 备忘录模式
    • 第19章 职责链模式
    • 第20章 访问者模式
    • 第21章 解释器模式
    • 第22章 设计模式总结

第1章 设计模式与软件开发思想、编程环境介绍

  • 1.1 设计模式概述
    • 1.1.1 设计模式基本概念
    • 1.1.2 设计模式中的抽象思维
    • 1.1.3 学习设计模式普遍存在的问题
    • 1.1.4 设计模式的缺点
    • 1.1.5 设计模式在实际工作中的应用和学习方法
    • 1.1.6 学习设计模式的态度、方法和本书的特点
  • 1.2 软件开发思想、设计模式分类与讲解规划
    • 1.2.1 大型项目的软件开发思想
    • 1.2.2 设计模式分类及讲解规划
  • 1.3 C++编程环境介绍
    • 1.3.1 C++编程环境搭建说明
    • 1.3.2 创建最基本的能运行的C++程序
    • 1.3.3 Visual Studio中程序的调试方法

第2章 模板方法模式

  • 2.1 一个具体实现范例的逐步重构
  • 2.2 引入模板方法模式
  • 2.3 模板方法模式的UML图
  • 2.4 程序代码的进一步完善及应用联想

第3章 工厂模式、原型模式、建造者模式

  • 3.1 工厂模式
    • 3.1.1 简单工厂模式
    • 3.1.2 工厂方法模式
    • 3.1.3 抽象工厂模式
  • 3.2 原型模式
    • 3.2.1 通过工厂方法模式演变到原型模式
    • 3.2.2 引入原型模式
  • 3.3 建造者模式
    • 3.3.1 一个具体实现范例的逐步重构
    • 3.3.2 引入建造者模式
    • 3.3.3 另一个建造者模式的范例
    • 3.3.4 建造者模式的总结

第4章 策略模式

  • 4.1 一个具体实现范例的逐步重构
  • 4.2 依赖倒置原则

第5章 观察者模式

  • 5.1 一个遍历问题导致的低效率范例
  • 5.2 引入观察者模式
  • 5.3 应用联想

第6章 装饰模式

  • 6.1 问题的提出
  • 6.2 引入装饰模式
  • 6.3 另一个装饰模式的范例

第7章 单件模式

  • 7.1 单件类的基本概念和实现
  • 7.2 单件类在多线程中可能导致的问题
  • 7.3 饿汉式与懒汉式
  • 7.4 单件类对象内存释放问题
  • 7.5 单件类定义、UML图及另外一种实现方法

第8章 外观模式

  • 8.1 一个配置相关的范例
  • 8.2 引入外观模式
  • 8.3 另一个外观模式的范例

第9章 命令模式

  • 9.1 通过一个范例引出命令模式代码编写方法
  • 9.2 引入命令模式
  • 9.3 命令模式用途研究
    • 9.3.1 改造范例增加对象使用时的独立性
    • 9.3.2 命令模式使用场景与特点总结

第10章 迭代器模式

  • 10.1 容器和迭代器的简单范例
  • 10.2 单一职责原则
    • 10.2.1 单一职责原则的定义
    • 10.2.2 内聚与耦合
  • 10.3 迭代器模式的范例及现代C++中的迭代器
    • 10.3.1 迭代器模式范例
    • 10.3.2 现代C++中的迭代器

第11章 组合模式

  • 11.1 一个基本的目录内容遍历范例
  • 11.2 使用组合模式改造目录内容遍历范例
  • 11.3 引入组合模式
  • 11.4 透明组合模式与安全组合模式
  • 11.5 其他使用组合模式的场景探讨

第12章 状态模式

  • 12.1 一个基本的状态转换范例
  • 12.2 引入状态模式
  • 12.3 状态类的单件实现方式

第13章 享元模式

  • 13.1 从一个典型的范例开始
  • 13.2 引入享元模式

第14章 代理模式

  • 14.1 基本概念和范例
  • 14.2 引入代理模式
  • 14.3 代理模式的应用场合探究
    • 14.3.1 代理模式常用应用场景
    • 14.3.2 缓存/缓冲代理范例

第15章 适配器模式

  • 15.1 一个简单的范例
  • 15.2 引入适配器模式
  • 15.3 类适配器
  • 15.4 适配器模式的扩展运用

第16章 桥接模式

  • 16.1 一个传统的继承范例导致子类数量爆炸式增长
  • 16.2 将类与类之间的继承关系改为委托关系
  • 16.3 引入桥接模式

第17章 中介者模式

  • 17.1 中介者的基本概念
  • 17.2 中介者模式范例的引入
  • 17.3 引入中介者模式

第18章 备忘录模式

  • 18.1 一个具体实现范例
  • 18.2 引入备忘录模式

第19章 职责链模式

  • 19.1 一个关于涨薪审批的范例
  • 19.2 引入职责链模式
  • 19.3 单纯与非单纯的职责链模式

第20章 访问者模式

  • 20.1 一个具体范例的逐渐演化
  • 20.2 引入访问者模式
  • 20.3 访问者模式深入理解

第21章 解释器模式

  • 21.1 一个用解释器模式编写的范例
  • 21.2 引入解释器模式
  • 21.3 机器人运动控制范例

第22章 设计模式总结

相关文章:

C++ 新经典:设计模式 目录(先留框架,慢慢来~)

C 新经典:设计模式 C 新经典:设计模式 C 新经典:设计模式第1章 设计模式与软件开发思想、编程环境介绍第2章 模板方法模式第3章 工厂模式、原型模式、建造者模式第4章 策略模式第5章 观察者模式第6章 装饰模式第7章 单件模式第8章 外观模式第…...

go之命令行工具urfave-cli

一、urfave/cli urfave/cli 是一个声明性的、简单、快速且有趣的包,用于用 Go 构建命令行工具。 二、快速使用 2.1 引入依赖 go get github.com/urfave/cli/v2 2.2 demo package mainimport ("fmt""log""os""github.com/ur…...

四种应用层协议——MQTT、CoAP、WebSockets和HTTP——在工业物联网监控系统中的性能比较

目录 摘要(Abstract) 实验设置 实验结果 节选自《A Comparative Analysis of Application Layer Protocols within an Industrial Internet of Things Monitoring System》,作者是 Jurgen Aquilina、Peter Albert Xuereb、Emmanuel Francalanza、Jasmine Mallia …...

MySQL的脏读、不可重复读、幻读与隔离级别

脏读/不可重复读/幻读 脏读 脏读(Dirty Read)发生在一个事务读取了另一个事务尚未提交的数据。如果第二个事务失败并回滚,第一个事务读到的数据就是错误的。这意味着数据从一开始就是不稳定或者“脏”的。 举例 事务A读取了某条记录的值为X。事务B修改该记录的值…...

程序员前端开发者的AI绘画副业之路:在裁员危机中寻找新机遇

正文: 在这个充满变数的时代,作为一名前端开发者,我经历了行业的起伏,见证了裁员危机和中年失业危机的残酷。在这样的背景下,我开始了利用AI绘画作为副业的探索,不仅为了寻求经济上的稳定,更是为…...

Burp Suite的使用和文件上传漏洞靶场试验

第一步:分析如何利用漏洞,通过对代码的查阅发现,代码的逻辑是先上传后删除,意味着,我可以利用webshell.php文件在上传到删除之间的间隙,执行webshell.php的代码,给上级目录创建一个shell.php木马…...

如何在Ubuntu中安装deepin wine版的企业微信

如何在Ubuntu中安装deepin wine版的企业微信 运行如下一条命令将移植仓库添加到系统中 wget -O- https://deepin-wine.i-m.dev/setup.sh | sh自此以后,你可以像对待普通的软件包一样,使用apt-get系列命令进行各种应用安装、更新和卸载清理了。 安装企业…...

案例:Nginx + Tomcat集群(负载均衡 动静分离)

目录 案例 案例环境 案例步骤 部署Tomcat服务器 部署Nginx服务器 实现负载均衡和读写分离 日志控制 案例 案例环境 操作系统 IP 地址 角色 CentOS 192.168.10.101 Nginx服务器(调度器) CentOS 192.168.10.102 Tomcat服务器① CentOS 1…...

【密码学】密码协议的分类:②认证协议

密码协议的分类有很多种方式,这里我采取的是基于协议实现的目的来分类。可以将密码协议分成三类:认证协议、密钥建立协议、认证密钥建立协议。 一、认证协议是什么? 认证协议都在认证些什么东西呢?认证一般要认证三个东西&#x…...

异步编程(Promise详解)

目录 异步编程 回调函数 回调地狱 Promise 基本概念 Promise的特点 1.Promise是一种构造函数 2.Promise接收函数创建实例 3.Promise对象有三种状态 4.Promise状态转变不可逆 5.Promise 实例创建即执行 6.Promise可注册处理函数 7.Promise支持链式调用 Promise的静…...

DjangoORM注入分享

DjangoORM注入 简介 ​ 这篇文章中,分享一些关于django orm相关的技术积累和如果orm注入相关的安全问题讨论。 ​ 攻击效果同数据库注入 从Django-Orm开始 开发角度 ​ Django ORM(Object-Relational Mapping)是Django框架中用于处理数…...

【HBZ分享】Redis各种类型的数据结构应用场景

String(字符串类型) 计数器: incr / decr, 比如商品库存,业务号的发号器业务数据key-value缓存, 缓存结果数据,提高网站性能,缓解DB压力分布式session会话, 集群环境下存储token鉴权信息分布式锁&#xff…...

anaconda创建并且配置pytorch(完整版)

📚博客主页:knighthood2001 ✨公众号:认知up吧 ** 🎃知识星球:【认知up吧|成长|副业】介绍** ❤️如遇文章付费,可先看看我公众号中是否发布免费文章❤️ 🙏笔者水平有限,欢迎各位大…...

高级java每日一道面试题-2024年8月10日-网络篇-你对跨域了解多少?

如果有遗漏,评论区告诉我进行补充 面试官: 你对跨域了解多少? 我回答: 跨域问题,即Cross-Origin Resource Sharing(CORS),是现代Web开发中一个非常重要的概念,涉及到浏览器的安全策略——同源策略(Same…...

AtCoder Beginner Contest 365 A~E

A.Leap Year(思维) 题意: 给你一个介于 1583 1583 1583和 2023 2023 2023之间的整数 Y Y Y。 求公历 Y Y Y年的天数。 在给定的范围内, Y Y Y年的天数如下: 如果 Y Y Y不是 4 4 4的倍数,则为 365 365 …...

多机部署, 负载均衡-LoadBalance

目录 1.负载均衡介绍 1.1问题描述 1.2什么是负载均衡 1.3负载均衡的一些实现 服务端负载均衡 客户端负载均衡 2.Spring Cloud LoadBalancer 2.1快速上手实现负载均衡 2.2负载均衡策略 自定义负载均衡策略 3.服务部署(Linux) 3.1服务构建打包…...

(回溯) LeetCode 78. 子集

原题链接 一. 题目描述 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的 子集 (幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums [1,2,3] 输出&…...

DQL数据查询语言(多表处理)—/—<7>

一、多表处理 当前有两个表,一个是学生表student,一个是分数表score student表字段名表示如下(共1000条数据): score表字段表示如下(共6000条数据): 1、求每个学生的总分 SELECT …...

力扣刷题总结

去年有段时间一直在刷题,进步神速,解决了以往刷完就忘的问题,这里总结下经验,给有需要的人参考下,核心观点就仨: 1. 打好数据结构与算法基础 2. 多刷题多练习 3. 形成自己的知识体系 下图是我梳理的知识体…...

BLDC ESC 无刷直流电子调速器驱动方式

BLDC ESC 无刷直流电子调速器驱动方式 1. 源由2. 驱动方法2.1 Trapezoidal 1202.2 Trapezoidal 1502.3 Sinusoidal 1802.4 Field-Orientated Control (FOC) 3. FOC(Field-Oriented Control)3.1 引入坐标系3.2 Clarke and Park变换Clarke 变换&#xff08…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

PHP和Node.js哪个更爽?

先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...