🌷🌷🌷🌷① 工厂模式(Factory Pattern):
🌷🌷🌷🌷② 抽象工厂模式(Abstract Factory Pattern):
🌷🌷🌷🌷③ 单例模式(Singleton Pattern):
🌷🌷🌷🌷④ 原型模式(Prototype Pattern):
单例模式示例代码:
#include <iostream>
using namespace std;
class Singleton {
private:
static Singleton* m_instance;
Singleton() {}
public:
static Singleton* getInstance() {
if (!m_instance) {
m_instance = new Singleton();
}
return m_instance;
}
void showMessage() {
cout << "Hello, I am a Singleton object." << endl;
}
};
Singleton* Singleton::m_instance = NULL;
int main() {
Singleton* singleton1 = Singleton::getInstance();
Singleton* singleton2 = Singleton::getInstance();
if (singleton1 == singleton2) {
cout << "singleton1 and singleton2 are same." << endl;
}
singleton1->showMessage();
return 0;
}
在上述示例代码中,我们定义了一个单例类Singleton
,其中包含一个静态私有成员变量m_instance
和一个静态公有成员函数getInstance()
,用于创建单例对象。在getInstance()
函数中,我们使用懒加载的方式创建单例对象,即在第一次调用getInstance()
函数时才创建单例对象。最后我们在main()
函数中使用Singleton
类创建两个单例对象并比较它们的地址是否相同,以及调用其showMessage()
函数输出单例对象的信息。
🌷🌷🌷🌷② 抽象工厂模式(Abstract Factory Pattern):
🌷🌷🌷🌷③ 单例模式(Singleton Pattern):
🌷🌷🌷🌷④ 原型模式(Prototype Pattern):
🌷🌷🌷🌷② 装饰器模式(Decorator Pattern):