设计模式在 C++ 面向对象开发中的应用
设计模式是面向对象编程中的一种最佳实践,能够帮助开发者解决常见的设计问题,提升代码的可维护性和可扩展性。以下是几种常用设计模式在 C++ 开发中的应用解析。
单例模式(Singleton)
单例模式确保一个类只有一个实例,并提供一个全局访问点。该模式在需要全局访问某个资源时非常有用,例如日志记录器、配置管理器等。但需要注意的是,单例模式可能会引入全局状态,从而增加代码的耦合性。
#include <iostream>
class Singleton {
private:
static Singleton* instance;
Singleton() {}
public:
static Singleton* getInstance() {
if (instance == nullptr) {
instance = new Singleton();
}
return instance;
}
void showMessage() const {
std::cout << "Hello from Singleton!" << std::endl;
}
};
// 初始化静态成员变量
Singleton* Singleton::instance = nullptr;
int main() {
Singleton* s1 = Singleton::getInstance();
Singleton* s2 = Singleton::getInstance();
s1->showMessage();
s2->showMessage();
std::cout << "Same instance: " << (s1 == s2 ? "Yes" : "No") << std::endl;
return 0;
}
工厂模式(Factory)
工厂模式用于创建对象,而无需指定具体的类。通过将对象的创建逻辑封装在工厂类中,使得代码更加灵活和可扩展。当需要添加新的类时,只需扩展工厂类即可,无需修改客户端代码。


