现在位置: 首页 > 自动控制 > 工业·编程 > 文章
    我们去银行柜台办业务,一般情况下会开几个个人业务柜台的,你去其中任何一个柜台办理都是可以的。我们的访问者模式可以很好付诸在这个场景中:对于银行柜台来说,他们是不用变化的,就是说今天和明天提供个人业务的柜台是不需要有变化的。而我们作为访问者,今天来银行可能是取消费流水,明天来银行可能是去办理手机银行业务,这些是我们访问者的操作,一直是在变化的。 访问者模式就是表示一个作用于某对...
阅读全文
工厂方法模式不同于简单工厂模式的地方在于工厂方法模式把对象的创建过程放到里子类里。这样工厂父对象和产品父对象一样,可以是抽象类或者接口,只定义相应的规范或操作,不涉及具体的创建或实现细节。 其类图如下: 实例代码为: #pragma once class IProduct { public:     IProduct(void);     virtual ~IProduct(void); }; #pragma once #include "iproduct.h&q...
阅读全文
简单工厂模式按照设计模式类型分的话是属于创建型模式,他是工厂模式中最简单的一种,他不属于GoF 23中设计模式之一,但是是简单实用的。他是有一个工厂对象来决定创建哪一种对象的实例。 实现比较简单,这里我只贴出类图和调用方法: 调用方法: IProduct * simpleFactory::Create(std::string className) {     if( className == "Ipad")         ret...
阅读全文
桥模式,其作用就是让抽象与实现相分离,让两者都能够各自变化。 举例来说吧,画图,我可以画矩形,圆,三角形等等,在哪里画呢?我可以在pdf上画,也可以在doc上面画。画什么图和在哪里画都是可以独立变化的,此种情况就比较适合用桥模式。就是说设计中有超过一维的变化我们就可以用桥模式。如果只有一维在变化,那么我们用继承就可以圆满的解决问题。 我的图形定义: #pragma once  #include<vector>  #in...
阅读全文
单例模式,顾名思义,就是只能由一个实例,那么我们就必须保证: 该类不能被复制。 该类不能被公开的创造。 那么对于C++来说,它的构造函数,拷贝构造函数和他的赋值函数都不能被公开调用。 但对于该私有的构造函数的构造时机上来说也可以分两种情况来构造: 只有当需要改类的时候去构造(即为懒汉模式) 在程序开始之前我就先构造好,你到时候直接用就可(即为饿汉模式) 那么我分别来说说这两种模式: 懒汉模式,静态局...
阅读全文
2015-08-20 21:34 工业·编程 ⁄ 共 716字 暂无评论
正常的map默认按照key值排序,而map又没有像vector一样的sort()函数,那么如果将map按照value值排序呢?有两种方法: 方法1 将map中的key和value分别存放在一个pair类型的vector中,然后利用vector的sort函数排序,其中map_verb存放我的map值: 存放我的map值: #include<algorithm> typedef pair<string, int> PAIR; int cmp(const PAIR &x, const PAIR &y) { return x.second > y...
阅读全文
2015-08-19 08:51 工业·编程 ⁄ 共 519字 暂无评论
首先在工程文件中加 QT  += script 然后头文件加 #include <QtScript> 然后解析 QString str = "{\"name\":\"xiaotang\", \"age\":\"23\", \"chi\":[{\"a\":\"aa\", \"b\":\"bb\"}, {\"a\":\"aaa\", \"b\":\"bbb\"}]}"; QScriptEngine engine; QScriptValue sc = en...
阅读全文
2015-08-18 13:23 工业·编程 ⁄ 共 1868字 评论 1 条
    项目经理需要有很好的项目把控能力,要善于制定目标、协调资源和领导团队,另外需要特别细心,因为每个项目的发布,涉及到的细节特别多,任何一个细节没处理好都有可能导致项目延期或失败。再则需要有很好地与其他部门团队协调能力,说白了就是学会如何与他们博弈和PK。     架构师需要很渊博的技术知识,并能深专关系项目成败的关键技术,另外需要有很强概括和抽象能力,能大大小小的需求提...
阅读全文
2015-08-17 08:21 工业·编程 ⁄ 共 1335字 评论 1 条
主要任务:通过Qt5完成对Json格式的文件的读写操作。 ①首先读取json文件进行解析; ②对读取出来的东西判断是QJsonObject还是QJsonArray类型; ③对相应的类型根据提供的key去查找或者修改相对应的值; 主要技术: (1)     Qt中常见的读写文件代码 读文件 QString fileName = "D:\Lib\1.txt";QString str;QFile file(fileName);       if(!file.open(QIODevice::ReadOnly |...
阅读全文
2015-08-16 07:42 工业·编程 ⁄ 共 3052字 评论 1 条
    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。 常用的Json库 JsonCpp  ...
阅读全文