Qt中有很多设计模式的身影。本文简单介绍3种,分别是单例模式、观察者模式和适配器模式。
单例模式
如下代码,通过宏aApp返回instance。可以看到,类QCoreApplication的构造函数是private。
#define qApp QCoreApplication::instance()
class Q_CORE_EXPORT QCoreApplication
#ifndef QT_NO_QOBJECT
: public QObject
#endif
{
#ifndef QT_NO_QOBJECT
Q_OBJECT
Q_PROPERTY(QString applicationName READ applicationName WRITE setApplicationName NOTIFY applicationNameChanged)
Q_PROPERTY(QString applicationVersion READ applicationVersion WRITE setApplicationVersion NOTIFY applicationVersionChanged)
Q_PROPERTY(QString organi