精读C++20设计模式——结构型设计模式:组合模式
精读C++20设计模式——结构型设计模式:组合模式 组合模式不是说的将对象组合起来构成一个新对象——他不是这个意思!但是实际上,他也确实是这个意思:我这么说很奇怪。因为组合模式不打算将成员们物理组合,而是逻辑组合。举个例子:我们想要为不同对象的相似逻辑提供同一接口。组合模式就是在这个时候发挥它的功能
精读C++20设计模式——结构型设计模式:组合模式 组合模式不是说的将对象组合起来构成一个新对象——他不是这个意思!但是实际上,他也确实是这个意思:我这么说很奇怪。因为组合模式不打算将成员们物理组合,而是逻辑组合。举个例子:我们想要为不同对象的相似逻辑提供同一接口。组合模式就是在这个时候发挥它的功能
精读C++20设计模式——结构型设计模式:外观模式 前言 ⚠:笔者的这个设计模式谈不上了解,甚至可以说是现场学习的。所以这个部分会有所混杂GPT的生成内容,因此请您谨慎参考! 外观模式简直就是字如其名:我们一切跟着外观走——倒不如说,我们将接口实现分离的策略重新换了一个更好的名称:外观模式(Faca
精读C++20设计模式:结构型设计模式:装饰器模式 前言 扩展!这就是装饰器模式的功能!就像一棵圣诞树,你装饰了它,你就会得到一颗装饰后的圣诞树!它具备更好的观赏功能了!同时,他还具备一般圣诞树一样的功能。这种设计模式就是装饰器模式。 或者说——当我们想要更加有机(自由的?动态/静态都支持的?正交组
精读C++设计模式20 —— 结构型设计模式:桥接模式 这是我们的第二个设计模式——桥接模式!桥接模式更加直白了,我们之前的适配器更倾向于对接口本身的桥接,这里说的是系统协作的桥接。笔者认为他跟适配器区别谈不上很大。但是还是要仔细说一说这个桥接模式,以及我们下面要引出的,笔者最最常用的pImpl法,
精读C++20设计模式——结构型设计模式:适配器模式 前言 现在我们的设计模式学习之路走到了第二个大部分,也就是结构型设计模式,现在我们来到了设计模式的一个核心。前面的创造型,是在关心我们一个子程序的起点——一些对象创建的时候我们如何设计对象的创建,让我们的程序有一个好的起头。那么这里,也就是程序在
精读C++20设计模式——创造型设计模式:单例模式 我当时读到这里的时候更多的是惊讶,因为作者并不喜欢单例模式。当然单例模式的确存在它的意义。在很多场景下,如果我们期待全局程序总是访问唯一对象的情况下,我们才会去使用单例模式。比如说——全局唯一的数据库,全局唯一的日志对象。这个时候,单例模式就会显得
精读《C++20设计模式》——创造型设计模式:原型模式 现在我们来到了第三个创造型的设计模式,也就是Prototype,原型模式中的“原型”指的是一个被克隆的原始对象实例。听着好像有点奇怪。但是别着急,咱们慢慢来谈论这个设计模式(我需要承认一点,这个设计模式我几乎没有自己设计过,用的时候也是用过别人
精读《C++20设计模式》:创造性模式——工厂方法和抽象工厂模式 前言 上一篇中,咱们仔细聊了聊经典的构造器模式。很显然,我们将构造函数的繁杂的职责交给了一个外置的类:构造器Builder来让Builder完成对Object的构造。而不是让Object自己承担了所有的构造点。我们还有一种设计模式。那
精读《C++20设计模式》——创造型设计模式:构建器系列 前言 《C++20设计模式》的开始,我们的作者就抛出了一个问题:如何保证最大自由度的(笔者这里认为的最大自由度是——最强兼容性的)让使用者安全的构造一个对象的问题。很好,构建复杂对象向来是一个令人繁琐的事情。笔者再写ToDoLists的时候,
技术选型:为什么笔者的CCIMXDesktop选择了Qt6而不是Qt5作为GUI开发框架 前言 有人询问笔者,为什么不使用Qt5而是Qt6作为开发框架?笔者计划梳理一下理由,顺便分享一下Qt5和Qt6之间的小区别。 Qt6支持RHI抽象后端渲染 Qt6重构了我们对渲染管线重构,之前实际上对渲染后端的