- 博客(24)
- 收藏
- 关注
原创 Qt C++设计模式->访问者模式
访问者模式通过将操作与对象结构分离,使得你可以在不修改类结构的前提下增加新的操作。它非常适合那些对象结构相对稳定,但需要频繁添加操作的场景。尽管访问者模式在扩展新操作时非常灵活,但当对象结构变化较频繁时,可能会增加维护的复杂性。
2024-10-11 09:35:50
1177
原创 Qt C++设计模式->模板方法模式
模板方法模式通过在基类中定义算法的骨架,并让子类实现或扩展具体的步骤,提供了良好的代码复用性和灵活性。它适用于具有固定流程但部分步骤需要定制的场景。尽管它能有效地减少重复代码,但也可能因为子类需要覆盖多个方法而导致维护复杂性增加。因此,使用模板方法模式时,应尽量保持基类中的逻辑简洁。
2024-10-10 11:08:40
1338
原创 Qt C++设计模式->备忘录模式
备忘录模式通过保存对象的状态并在将来进行恢复,使得系统能够实现撤销、回滚等功能,同时保证了对象内部状态的封装性。它非常适合用于保存对象的历史状态、支持撤销操作的场景。然而,备忘录模式的内存开销较大,不适合频繁状态变化且状态庞大的对象。
2024-10-10 11:02:02
1266
原创 Qt C++设计模式->中介者模式
中介者模式通过引入一个中介者对象,将对象之间的直接交互转换为通过中介者来进行,从而降低了对象之间的耦合度。它适用于对象之间交互复杂且紧密耦合的场景,通过集中控制交互,提升了系统的可维护性和灵活性。
2024-10-09 15:37:13
1514
原创 Qt C++设计模式->命令模式
命令模式(Command Pattern)是一种行为型设计模式,它将一个请求封装为一个对象,从而使你可以用不同的请求对客户端进行参数化,对请求排队或记录请求日志,并支持可撤销的操作。命令模式通过将请求的发送者与执行者解耦,赋予了系统更强的灵活性和可扩展性。
2024-09-30 09:12:02
1459
原创 Qt C++设计模式->享元模式
享元模式(Flyweight Pattern)是一种结构型设计模式,旨在通过共享相同对象来减少内存使用,尤其适合在大量重复对象的情况下。它通过将对象的可共享部分抽取出来,并在多个上下文中共享,从而避免对象的多次创建。
2024-09-24 08:57:00
1516
原创 Qt C++设计模式->外观模式
外观模式(Facade Pattern)是一种结构型设计模式,提供了一个统一的接口,用来访问子系统中的一群接口。外观模式通过定义一个高级接口,使得子系统更加容易使用,避免了客户端直接与子系统的复杂交互。
2024-09-24 08:52:20
1287
原创 Qt C++设计模式->装饰器模式
装饰器模式(Decorator Pattern)是一种结构型设计模式,允许你在不改变对象接口的情况下,动态地为对象添加额外的功能。它通过将对象包装在装饰器类中来实现这一点,从而提供了比继承更灵活的扩展方式。
2024-09-23 09:36:47
941
原创 Qt C++设计模式->组合模式
组合模式(Composite Pattern)是一种结构型设计模式,允许你将对象组合成树形结构以表示部分与整体的层次关系。组合模式使得客户端可以以统一的方式对待单个对象和组合对象,简化了对复杂树形结构的操作。
2024-09-23 09:27:17
1010
原创 Qt C++设计模式->桥接模式
桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与它的实现部分分离,使它们都可以独立地变化。桥接模式通过组合的方式来代替继承,使得系统可以在多个维度上独立变化。它非常适合用于需要在多个层次上扩展和变化的场景。
2024-09-14 17:40:56
886
原创 Qt C++设计模式->适配器模式
适配器模式(Adapter Pattern)是一种结构型设计模式,它用于将一个类的接口转换成客户端希望的另一个接口。适配器模式使得原本由于接口不兼容而无法一起工作的类能够协同工作,通常用于已有系统中的类不能修改的场景,通过适配器来实现接口的兼容性。
2024-09-14 17:35:41
762
原创 Qt C++设计模式->原型模式
原型模式(Prototype Pattern)是一种创建型设计模式,它允许你通过复制现有的对象来创建新对象,而不是通过实例化类。这种模式特别适合用于创建对象成本较高或复杂的场景,能够通过克隆已有对象来提高效率。
2024-09-13 11:17:55
695
原创 Qt C++设计模式->建造者模式
建造者模式(Builder Pattern)是一种创建型设计模式,它通过使用多个简单的对象一步步构建一个复杂对象。建造者模式允许你分步骤创建复杂对象,并且你可以控制每个步骤如何执行。该模式常用于对象的创建过程非常复杂且需要有多个可选参数的场景。
2024-09-13 09:26:21
744
原创 大数据可视化平台开源项目AJReport发行版环境部署
下载JDK链接: www.oracle.com 这边使用的是JDK8往下面拉找到JavaSE拉到最下面找然后开始下载直接下一步就好发行版本链接: https://gitee.com/anji-plus/report/releases下载完之后解压:可以看到里面有4个文件夹其中bin文件夹里面是启动的脚本,conf文件夹里面是程序的一些配置文件,images文件夹里面装的是程序运行中组件加载的图片。该文件夹为手动创建,lib文件夹是程序运行的一些依赖库。(1)修改bin文件夹下的启动脚本start.bat,
2024-09-12 08:00:00
943
原创 Qt C++设计模式->迭代器模式
迭代器模式(Iterator Pattern)是一种行为型设计模式,它提供了一种方法顺序访问集合对象中的元素,而无需暴露集合的底层表示。迭代器允许你遍历不同的数据结构,比如数组、链表或其他容器,具有统一的接口。在Qt C++中,使用迭代器可以更简洁、安全地遍历QList、QVector、QMap等容器。Qt提供了一些内建的迭代器类,例如等。
2024-09-11 15:51:27
788
原创 Qt C++设计模式->代理模式
是一种结构型设计模式,允许通过代理对象来控制对其他对象的访问。代理模式可以在不改变真实对象的情况下,提供额外的控制逻辑,如访问控制、延迟加载、日志记录等。
2024-09-06 09:09:22
1088
原创 Qt C++设计模式->策略模式
public:策略模式通过将不同的算法封装为独立的类,便于在运行时动态替换这些算法。在Qt C++开发中,策略模式可用于需要灵活切换算法或行为的场景,例如不同的绘图引擎、数据处理策略等。
2024-09-05 16:56:38
529
原创 Qt C++设计模式->状态模式
状态模式(State Pattern)是一种行为设计模式,它允许对象在内部状态发生改变时改变其行为。这种模式用于对象的行为取决于其状态的场景,状态模式将对象的行为和状态分离,能够更清晰地组织代码,并且方便添加或修改状态。Context(上下文):持有当前状态的实例,并负责状态的转换。State(状态):定义一个接口,用于封装与上下文的一个特定状态相关的行为。ConcreteState(具体状态):实现State接口,封装与上下文的一个特定状态相关的行为。
2024-09-04 10:04:52
740
原创 Qt C++设计模式->工厂模式
工厂模式(Factory Pattern)是一种创建型设计模式,它定义了一个创建对象的接口,但由子类决定实例化哪个类。工厂模式让类的实例化推迟到子类中进行。它非常适合用于对象创建的逻辑可能会根据不同条件而变化的情况。
2024-08-29 08:39:56
643
原创 Qt C++设计模式->观察者模式
观察者模式在Qt中的实现非常方便,主要得益于Qt强大的信号与槽机制。通过这种模式,你可以轻松实现对象之间的通信,而不需要让它们相互依赖,从而使代码更具可维护性和扩展性。
2024-08-28 10:33:45
943
原创 C++设计模式->单例模式
一个常用的C++设计模式是**单例模式**(Singleton Pattern)。这个模式的主要目的是确保一个类只有一个实例,并提供一个全局访问点。
2024-08-27 08:54:48
395
原创 Qt C++ 返回值是值,引用,指针的区别
引用比指针更安全,因为引用不能为空,但它仍然允许调用者修改原始对象。指针提供了更多的灵活性(如可以为空),但使用起来要更加谨慎。如果你只想提供对原始对象的访问权限,且不希望调用者修改它,可以使用**返回值为常量引用(const reference)**。这既避免了拷贝,又防止了修改。选择哪种方式取决于你如何希望调用者与这个返回值进行交互以及性能需求。
2024-08-26 16:01:43
418
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人