Python设计模式 之 简单工厂模式
Python简单工厂模式属于类的创建型模式,适合用来对大量具有共同接口的类进行实例化,它可以推迟到运行的时候才动态决定要创建哪个类的实例,而不是在编译时就必须知道要实例化哪个类。
Python:
#!/usr/bin/env python   
# -*- coding: utf-8 -*-   
  
class Circle(object):  
    def draw(self):  
        print 'draw circle'  
  
class Rectangle(object):  
    def draw(self):  
        print 'draw Rectangle'  
  
class ShapeFactory(object):  
    def create(self, shape):  
        if shape == 'Circle':  
            return Circle()  
        elif shape == 'Rectangle':  
            return Rectangle()  
        else:  
            return None  
  
fac = ShapeFactory()  
obj = fac.create('Circle')  
obj.draw() 
c++:
#include <iostream>   
#include <string.h>   
using namespace std;  
  
class Shape  
{  
public:  
    virtual void draw(){}  
};  
  
class Circle : public Shape  
{  
public:  
    void draw()  
    {  
        cout << "draw circle" << endl;  
    }  
};  
  
class Rectangle : public Shape  
{  
public:  
    void draw()  
    {  
        cout << "draw Rectangle" << endl;  
    }  
};  
  
class ShapeFactory  
{  
public:  
    static Shape* create(const char *opt)  
    {  
        if (opt == NULL)  
            return NULL;  
  
        if (!strcmp(opt, "Circle"))  
            return new Circle();  
        else if (!strcmp(opt, "Rectangle"))  
            return new Rectangle();  
        else   
            return NULL;  
    }  
};  
  
int main()  
{  
    Shape *obj = ShapeFactory::create("Rectangle");  
      
    if (obj)  
        obj->draw();  
      
    return 0;  
} 
Python 的详细介绍:请点这里
Python 的下载地址:请点这里
