自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 C++设计模式(二十):访问者模式

访问者模式旨在将数据结构与在该数据结构上执行的操作分离,从而使得添加新的操作变得更容易,而无需修改数据结构本身。访问者模式解决在稳定数据结构和易变操作之间的耦合问题,使得操作可以独立于数据结构变化。

2025-04-18 00:00:00 162

原创 C++设计模式(二十一):解释器模式

解释器模式定义一种语言的文法表示,并创建一个解释器,该解释器能够解释该语言中的句子。解释器模式用于构建一个能够解释特定语言或文法的句子的解释器。类似于编译原理文法。

2025-04-18 00:00:00 146

原创 C++设计模式(十九):中介者模式

中介者模式通过引入一个中介者对象来封装和协调多个对象之间的交互,从而降低对象间的耦合度。中介者模式解决对象间复杂的一对多关联问题,避免对象之间的高度耦合,简化系统结构。

2025-04-17 00:00:00 389

原创 C++设计模式(十七):组合模式

组合模式可以简化树形结构中对象的处理,无论它们是单个对象还是组合对象,解耦客户端代码与复杂元素的内部结构,使得客户端可以统一处理所有类型的节点。组合模式将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。

2025-04-16 00:00:00 179

原创 C++设计模式(十五):备忘录模式

备忘录模式可以在不破坏封装性的前提下,捕获一个对象的内部状态,并允许在对象之外保存和恢复这些状态。备忘录模式允许捕获并保存一个对象的内部状态,以便在将来可以恢复到该状态,实现撤销和回滚操作。

2025-04-14 00:00:00 209

原创 C++设计模式(十四):原型模式

原型模式实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。

2025-04-13 01:30:00 218

原创 C++设计模式(十八):桥接模式

桥接模式用于将抽象部分与实现部分分离,使得它们可以独立地变化。桥接模式避免了使用继承导致的类爆炸问题,提供更灵活的扩展方式。

2025-04-12 21:50:06 149

原创 C++设计模式(十六):迭代器模式

迭代器模式可以提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。迭代器模式提供一种统一的方法来遍历不同的聚合对象。

2025-04-12 21:38:19 190

原创 C++设计模式(十三):生成器模式

生成器模式可以解决以下问题:在软件系统中,一个复杂对象的创建通常由多个部分组成,这些部分的组合经常变化,但组合的算法相对稳定。生成器模式将一个复杂的构建过程与其表示相分离,使得同样的构建过程可以创建不同的表示。

2025-04-12 21:12:30 281

原创 C++设计模式(十二):命令模式

命令模式将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。命令模式解决在软件系统中请求者和执行者之间的紧耦合问题,特别是在需要对行为进行记录、撤销/重做或事务处理等场景。

2025-04-12 21:09:51 126

原创 C++设计模式(十一):享元模式

享元模式解决在系统中存在大量相同或相似对象时,消耗大量内存的问题。享元模式通过共享对象来减少创建大量相似对象时的内存消耗。

2025-04-12 20:56:17 228

原创 C++设计模式(十):模板模式

模板模式在父类中定义了算法的骨架,并允许子类在不改变算法结构的前提下重定义算法的某些特定步骤。模板模式解决在多个子类中重复实现相同的方法的问题,通过将通用方法抽象到父类中来避免代码重复。

2025-04-12 20:55:04 117

原创 C++设计模式(九):责任链模式

责任链模式可以解耦请求发送者和接收者,使多个对象都有可能接收请求,而发送者不需要知道哪个对象会处理它。

2025-04-12 20:53:13 207

原创 C++设计模式(八):代理模式

代理模式解决的是在直接访问某些对象时可能遇到的问题,例如对象创建成本高、需要安全控制或远程访问等。代理模式为其他对象提供一种代理以控制对这个对象的访问。

2025-02-16 10:45:10 169

原创 C++设计模式(七):策略模式

策略模式解决在多种相似算法存在时,使用条件语句(如 if…else)导致的复杂性和难以维护的问题。策略模式将每个算法封装起来,使它们可以互换使用。

2025-02-15 10:53:18 127

原创 C++设计模式(六):状态模式

状态模式允许一个对象在其内部状态改变时改变其行为,看起来就像是改变了其类一样。状态模式解决对象行为依赖于其状态的问题,使得对象可以在状态变化时切换行为。

2025-02-13 21:59:22 241

原创 C++设计模式(五):外观模式

外观模式为一个复杂的子系统提供一个一致的高层接口。这样,客户端代码就可以通过这个简化的接口与子系统交互,而不需要了解子系统内部的复杂性。

2025-02-10 21:27:08 204

原创 C++设计模式(四):观察者模式

观察者模式解决的是一个对象状态改变时,如何自动通知其他依赖对象的问题,同时保持对象间的低耦合和高协作性。

2025-02-08 19:50:02 285

原创 C++版设计模式(三):适配器模式

本文介绍了设计模式中的适配器模式,并给出了结构图和可运行代码。

2025-02-07 19:10:04 161

原创 C++版设计模式(二):装饰器模式

本文介绍了设计模式中的装饰器模式,并给出了结构图和可运行代码。

2025-02-06 16:29:28 267

原创 C++版设计模式(一):单例模式

本文为C++版设计模式的第一篇文章,主要介绍了单例模式并给出了相关可执行代码。

2025-02-04 22:23:24 701

原创 WebAssembly 使用npm init wasm-app www 创建模板文件产生“node:events:493 throw er、Error: spawn git ENOENT等错误”

针对webassembly的一个错误的处理。

2024-03-29 18:57:40 641 2

原创 CCFCSP202312-2 因子化简(c++模拟80分题解)

此题大意要求我们将一个数字分解成多个质数(某次幂)相乘的形式,并且如果其中某个质数的幂次小于题目所指定的k次,则输出的sum大小不变,否则sum*该质数的具体次幂。此题通过暴力模拟可以得到80分,如果还可以优化请在评论区交流,本人水平太菜轻喷哈哈。在之后代码中,使用vector可以得到更少的运行时间和空间。

2023-12-15 14:34:15 955

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除