![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT框架与设计模式
文章平均质量分 76
云中飞鸿--**峰
这个作者很懒,什么都没留下…
展开
-
Qt设计模式:状态模式 与 状态机框架
Qt状态机框架采用不同的类(如QAbstractState、QState、QStateMachine等)来表示状态机中的相关组件。QAbstractState和其子类代表了抽象状态类和具体状态类。QStateMachine本身充当上下文(Context)类,负责底层事件循环和状态切换管理。虽然Qt状态机框架引入了信号槽机制和事件循环等特性,不过其核心设计仍然保留了状态模式的原则。转载 2024-06-25 10:56:08 · 60 阅读 · 0 评论 -
QT设计模式:备忘录模式
备忘录模式主要有三个参与者:发起人(Originator)、备忘录(Memento)和负责人(Caretaker)。类兼任了备忘录模式的Caretaker类和命令模式的Invoker类。所以实际上,命令模式和备忘录模式,可以简单理解为在命令模式的基础上增加一个。类兼任了备忘录模式的Originator类和命令模式的Receiver类,类需要存储所有的状态,如果状态相关的数据对象越来越多,可能会导致。(负责人),负责管理撤销和重做操作,维护命令的历史记录。的字体和颜色,那么这个过程就简单的多了。原创 2024-06-20 10:40:14 · 436 阅读 · 0 评论 -
QT设计模式:命令模式
撤销栈用于存储撤销过的命令,当调用redo()方法时,会从撤销栈中弹出命令并执行其redo操作,同时该命令会被压回主栈。对于命令的接收者QTextEdit,我们也不需要关注它的源码,因为它的功能就是一个文本编辑器,我们只需要知道它提供了setPlainText()和toPlainText()等函数供我们在MyCommand中使用就可以了。需要注意的是,在标准的命令模式中,通常只有一个存储命令对象的容器,可以是是队列或栈,也可以仅仅是只是单个命令对象(如我们一开始给出的命令模式的示例)。转载 2024-06-17 16:04:45 · 51 阅读 · 0 评论 -
事件传播机制 与 责任链模式
至此,我们已经解析了Qt的对象树机制,构建在对象树机制之上的事件传递机制,以及它们背后的设计思想。在后续的文章中,我们可能还会继续解析Qt源码中事件机制相关的设计模式。事件机制确实是Qt中的核心机制之一,我们能够深挖的东西,恐怕还有很多。原文链接:https://blog.csdn.net/buhuiCyvyan/article/details/138793057。原创 2024-06-13 14:48:06 · 879 阅读 · 0 评论 -
模型/视图框架 与 代理模式
Qt中的模型/视图框架属于是Qt中比较难学难用的一块知识,其中涉及的类也使用了许多的设计模式和设计技巧,在后续的文章中我们还会提到Qt的模型/视图框架。把这块硬骨头啃下来,相信能大大提升程序员的C++开发能力。转载 2024-06-12 12:56:11 · 28 阅读 · 0 评论 -
媒体播放框架 与 外观模式
与组合模式一样,外观模式实际上更显得“不值一提”。当我们学习任何一门OO语言时,都会使用外观模式。但实际上,在日常编程中很容易就会将一个类在逻辑上的所有组成部分都塞到一个类的实现里面,造成类的实现过大,接口过于复杂。外观模式是单一职责原则和最少知道原则的完美体现。我们应有意识地去通过创建子系统类,通过组合/聚合的方式组织在一起,并提供简单的接口对外界隐藏复杂性。而这个过程,就是实现外观模式。转载 2024-06-05 16:51:10 · 34 阅读 · 0 评论 -
QObject对象树机制 和 组合模式
每个 QObject 都可以有(至多)一个父 QObject ,且可以拥有任意数量的子 QObject, 换句话说,每个子对象的类 型必须是 QObject 或者必须派生自 Q Object。任何一个QObject 对象都可以组成一个树形结构,每个节点都是一个 QObject 对象,子节点可以是其他 QObject 对象。每个 QOb ject 父对象都会管理自己的子对象, 这就意味着,在调用 QObject 的析构函数时会自动销毁该对象的子对象。每个父对象都知道它的子对象的地址。转载 2024-06-05 13:40:58 · 38 阅读 · 0 评论 -
QT绘图系统 与桥接模式
可以看到,桥接模式很好地体现了依赖倒转原则(Dependency Inversion Principle,DIP)。依赖倒转原则是面向对象设计中的一个重要原则,它要求高层模块不应该依赖低层模块,而是应该依赖于抽象。而桥接模式正是通过将实现部分抽象化,使得抽象部分和实现部分可以独立地变化,从而实现了高层模块对低层模块的解耦,符合了依赖倒转原则。具体来说,在桥接模式中,抽象部分和实现部分分别由两个抽象类或接口来定义,并通过一个桥接接口来将它们连接起来。转载 2024-06-04 17:20:10 · 48 阅读 · 0 评论 -
Qt源码中的设计模式:
原文链接:https://zhuanlan.zhihu.com/p/631326161原创 2024-06-02 20:12:33 · 102 阅读 · 0 评论