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;

}

```


本文标签: 代码 设计模式 工厂 模式 设计