1、简单工厂模式UML
UML如下:
图1. 简单工厂模式UML
2、C++实现
类视图如下:
图2. C++实现简单工厂模式类视图
其中,SimpleFactory实现为:
1 Product * SimpleFactory::Create(std::string pStr) { 2 3 if ("ConcreteProductA" == pStr) { 4 ConcreteProductA cpa; 5 ConcreteProductA * p = &cpa; 6 return p; 7 } 8 else if ("ConcreteProductB" == pStr) { 9 ConcreteProductB cpb; 10 ConcreteProductB * p = &cpb; 11 return p; 12 } 13 else { 14 return nullptr; 15 }//end if else 16 17 }//end method Create
3、Java实现
类视图为:
图3. Java实现简单工厂模式类视图
其中,SimpleFactory实现为:
1 /*简单工厂类*/ 2 public class SimpleFactory { 3 4 //简单工厂方法。 5 public static Product Create(String pString) { 6 if (pString.equals("ConcreteProductA")) { 7 return new ConcreteProductA(); 8 } else if (pString.equals("ConcreteProductB")) { 9 return new ConcreteProductB(); 10 } else { 11 return null; 12 }//end if else 13 14 }//end method Create 15 16 }//end class SimpleFactory
原文:http://www.cnblogs.com/minbaba/p/6361159.html