gof 23 种设计模式解析附 c语言
在计算机科学中,设计模式(Design Patterns)是一套被反复使用的,多数人知道的,经过分类编目的,代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
GoF 23种设计模式是设计模式中最经典和最常用的部分,这些模式主要用于解决特定类型的问题。
下面是这些设计模式的C语言解析:
1. 工厂方法模式(Factory Method Pattern)
```c
#include <stdio.h>
// 抽象产品类
struct AbstractProduct {
    void use() {
        printf("AbstractProduct\n");
    }
};
// 具体产品类1
struct ConcreteProduct1 : public AbstractProduct {
    void use() {
        printf("ConcreteProduct1\n");
    }
};
// 具体产品类2
struct ConcreteProduct2 : public AbstractProduct {
    void use() {
        printf("ConcreteProduct2\n");
    }
};
// 抽象工厂类
struct AbstractFactory {
    virtual AbstractProduct* createProduct() = 0;
};
// 具体工厂类1
struct ConcreteFactory1 : public AbstractFactory {
    AbstractProduct* createProduct() {
        return new ConcreteProduct1;
c语言struct头文件    }
};
// 具体工厂类2
struct ConcreteFactory2 : public AbstractFactory {
    AbstractProduct* createProduct() {
        return new ConcreteProduct2;
    }
};
int main() {
    ConcreteFactory1 factory1;
    ConcreteProduct1* product1 = ateProduct();
    product1->use(); // 输出 "ConcreteProduct1"
    delete product1; // 释放内存
    ateProduct(); // 空指针异常,因为工厂已不再生产任何产品
    return 0;
}
```

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。