一、单例模式
由于我们只需要初始化一个大的窗口,为了防止以后多次创建,在项目中把窗口类设计为一个单例的。
源代码(与项目无关):
class SingleObject
{
public:
static SingleObject * getInstance()
{
if(instance==null)
instance=new SingleObject();
return instance;
}
private:
static SingleObject *instance;
SingleObject();
}
SingleObject * SingleObject::instance=null;
二、工厂模式
在项目中,我们需要根据选项去创建一些类,通过选择不同的选项,在程序中通过switch语句,动态的创建不同的类,满足不同的条件。
三、观察者模式
在项目中,我们通过Qt的信号槽机制,将主线程下tcpsocket的状态,绑定给不同的子线程进行处理,当tcpSocket发生变化时,有可能是连接成功,有数据到达,有数据可读等等,相应的子线程对到来的数据和状态进行处理。