常用设计模式笔记

2017-06-14  本文已影响0人  LeeYee11

Factory Method

对如下Product类

/*Product.h*/
class Product{
public:
    Product();
    Product(int);
    ~Product();
    int getId();
private:
    int id;
};

/*Product.cpp*/
#include "Product.h"
Product::Product(){ id = -1; }
Product::Product(int i){ id = i; }
int Product::getId(){ return id; }

构造一个Factory类用于产生Product

/*Factory.h*/
#include "Product.h"
class Factory{
public:
    Product* makeProduct(int);
};

/*Factory.cpp*/
#include "Product.h"
#include "Factory.h"
Product* Factory::makeProduct(int i){
    Product *newProduct = new Product(i);
    return newProduct;
}

Factory类的职责是调用makeProduct方法并传入一个id,返回一个Product实例的指针。

Factory *myFactory = new Factory();
Product *myProduct=myFactory->makeProduct(3);

Abstract Factory

上一篇 下一篇

猜你喜欢

热点阅读