手写c++ 设计模式
时间: 2023-10-28 21:59:17 浏览: 122
设计模式是一些经过实践证明的、被广泛接受的软件设计经验的总结。在C语言中,有一些常见的设计模式可以使用。
1. 单例模式(Singleton)
单例模式用于确保一个类只有一个实例,并提供对该实例的全局访问。在C语言中,可以使用静态变量来实现单例模式。
```c
#include <stdio.h>
typedef struct {
int value;
} Singleton;
Singleton* getSingletonInstance() {
static Singleton instance;
return &instance;
}
int main() {
Singleton* singleton = getSingletonInstance();
singleton->value = 42;
Singleton* anotherSingleton = getSingletonInstance();
printf("%d\n", anotherSingleton->value); // Output: 42
return 0;
}
```
2. 工厂模式(Factory)
工厂模式用于创建对象,但将对象的创建逻辑封装在工厂类中。在C语言中,可以通过函数指针来实现工厂模式。
```c
#include <stdio.h>
typedef struct {
int value;
} Product;
typedef struct {
Product* (*createProduct)();
} Factory;
Product* createProduct() {
Product* product = malloc(sizeof(Product));
product->value = 42;
return product;
}
int main() {
Factory factory;
factory.createProduct = createProduct;
Product* product = factory.createProduct();
printf("%d\n", product->value); // Output: 42
free(product);
return 0;
}
```
以上只是两个简单的示例,C语言中还有更多的设计模式可以应用,如观察者模式、策略模式等。根据具体的需求和设计目标,选择合适的设计模式能够提高代码的可维护性和可扩展性。
阅读全文