心胸决定格局,眼界决定境界...

简单工厂模式

简单工厂特点:

1.简单工厂能产生各种不同种类的产品,但是这些种类最终通常继承同一个基类。

2.简单工厂方法(通常为static)通常返回一个基类对象,通过该对象,利用虚函数,多态性,可以控制各个子类的操作行为。

优点:

1.需要其它不同的子类时,直接在工厂中添加,不会影响其它子类。

2.简单工厂通常用来产生不同的对象。

 

eg:

class Parent

{

public:

virtual   action() = 0;

}

class Child1 : Parent;

class Child2 : Parent;

class Child3 : Parent;

 

class  Factory

{

static  Parent   CreateInstance(string classname)

{

  Parent  temp;

    switch(classname)

 {

     case 0:

         temp      =    new Child1;

               break;

     case  0:

            temp   =  new  Child2;

      break;

     case  2:

           temp    =  new  Child3;

                 break;

      return  temp;

  }

}

}

 

客户端:
Parent  ss = Factory.CreateInstance( classname);

ss.action();

 

 

 

 

posted @ 2013-12-26 23:31  WELEN  阅读(136)  评论(0)    收藏  举报