设计模式学习(C++实现)1——工厂模式
来源:互联网 发布:node.js是js吗 编辑:程序博客网 时间:2024/06/02 04:38
如字面意思所述,工厂模式即设计一个工厂,使用者不需要关心工厂内部的实现过程,只需要通过相应的接口来得到想要的产品,例如一个shape工厂,可以生产circle、rectangle、square,在应用中只需要生成一个工厂类,就可以通过这个工厂类的接口来生成不同的产品:
class Shape {public: virtual void draw() = 0;};class Circle :public Shape{public: void draw() override { cout << "this is a Circle" << endl; }};class Rectangle :public Shape {public: void draw() override { cout << "this is a Rectangle" << endl; }};class Square :public Shape {public: void draw() override { cout << "this is a Square" << endl; }};class ShapeFactory {public: Shape* getShape(const string &pattern) const { if (pattern.empty()) return nullptr; if (pattern == "Circle") return new Circle; else if (pattern == "Rectangle") return new Rectangle; else if (pattern == "Square") return new Square; return nullptr; }};int main() { ShapeFactory SF; Shape* shape = SF.getShape("Circle"); shape->draw(); system("pause");}
阅读全文
0 0
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(1)——工厂模式
- 第十九章——UIGestureRecognizer 和 UIMenuController
- 用JAVA,jdbc连接数据库
- opencv实现opencv3.3.0的DNN模块功能
- Java的四种引用,强弱软虚,用到的场景
- jQuery的基本用法
- 设计模式学习(C++实现)1——工厂模式
- 数据库之联合索引
- 从代理模式再出发!ClassLoader初探
- Linux学习之路
- C#调用Process进行mysql数据库备份和还原
- iOS 单例模式
- 编程技巧
- 1567: [JSOI2008]Blue Mary的战役地图
- APK的安全(二)--如何防御