线程池改进(QT版本)
摘要:测试如下: threadPool.InitThread(8); threadPool.Start(); for(int i=0; i<100; ++i) { TestRunnable* task = new TestRunnable(); task->i = i; threadPool.PushTa
阅读全文
线程池(QT版本)
摘要:测试如下: ThreadPool::instance()->Init(3); ThreadPool::instance()->Start(); for (int i = 0; i < 100; ++i) { Task task; task.nId = i; task.strName = "hello
阅读全文
类工厂(C++)
摘要:转自:https://www.cnblogs.com/kevonyang/p/6259922.html 测试: enum CreateType{ FCT_1, FCT_2, FCT_3};DECLARE_WIDGET(FCT_1, Widget);DECLARE_WIDGET(FCT_2, Widg
阅读全文
命令模式(C++)
摘要:一: 意图: 将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化; 对请求排队或记录请求日志,以支持可撤销的操作。 用途: 1、接口回调。Command模式是回调机制的一个面向对象的替代品。 2、在不同时刻指定,排列和执行请求。 3、支持Undo/Redo操作。 4、支持修改日志。
阅读全文
状态模式(C++)
摘要:意图:允许一个对象在其内部状态改变时改变他的行为。 用途: 1. 一个对象的行为取决于他的状态,并且他必须在运行时根据状态改变行为。 2.一个操作中含有庞大的多分支的条件语句。这个状态通常用一个或多个枚举常量表示。通常多个操作包含这一 相同的条件结构 。State模式将每个条件分支放入一个独立的类中
阅读全文
访问者设计模式(C++)
摘要:1.定义:抽象访问者(Visitor)角色:声明了一个或者多个访问操作,形成所有的具体元素角色必须实现的接口。具体访问者(ConcreteVisitor)角色:实现抽象访问者角色所声明的接口,也就是抽象访问者所声明的各个访问操作。抽象节点(Element)角色:声明一个接受操作,接受一个访问者对象作
阅读全文