admin 管理员组文章数量: 1086019
2024年3月28日发(作者:苹果手机如何打开下载的jsp文件)
gof 23 种设计模式解析附 c语
言
在计算机科学中,设计模式(Design Patterns)是一套被反复使用的,
多数人知道的,经过分类编目的,代码设计经验的总结。使用设计模
式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
GoF 23种设计模式是设计模式中最经典和最常用的部分,这些模式主
要用于解决特定类型的问题。
下面是这些设计模式的C语言解析:
1. 工厂方法模式(Factory Method Pattern)
```c
#include
// 抽象产品类
struct AbstractProduct {
void use() {
printf("AbstractProductn");
}
};
// 具体产品类1
struct ConcreteProduct1 : public AbstractProduct {
void use() {
printf("ConcreteProduct1n");
}
};
// 具体产品类2
struct ConcreteProduct2 : public AbstractProduct {
void use() {
printf("ConcreteProduct2n");
}
};
// 抽象工厂类
struct AbstractFactory {
virtual AbstractProduct* createProduct() = 0;
};
// 具体工厂类1
struct ConcreteFactory1 : public AbstractFactory {
AbstractProduct* createProduct() {
return new ConcreteProduct1;
}
};
// 具体工厂类2
struct ConcreteFactory2 : public AbstractFactory {
AbstractProduct* createProduct() {
return new ConcreteProduct2;
}
};
int main() {
ConcreteFactory1 factory1;
ConcreteProduct1* product1 = Product();
product1->use(); // 输出 "ConcreteProduct1"
delete product1; // 释放内存
Product(); // 空指针异常,因为工厂已不再生
产任何产品
return 0;
}
```
版权声明:本文标题:gof 23 种设计模式解析附 c语言 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1711597688a601613.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论