1、简单工厂模式UML
UML如下:
图1. 简单工厂模式UML
2、C++实现
类视图如下:
图2. C++实现简单工厂模式类视图
其中,SimpleFactory实现为:
Product * SimpleFactory::Create(std::string pStr) { if ("ConcreteProductA" == pStr) {
ConcreteProductA * cpa = new ConcreteProductA();
5 return cpa;
}
else if ("ConcreteProductB" == pStr) {
ConcreteProductB * cpb = new ConcreteProductB();
return cpb;
}
else {
return nullptr;
}//end if else }//end method Create
3、Java实现
类视图为:
图3. Java实现简单工厂模式类视图
其中,SimpleFactory实现为:
/*简单工厂类*/
public class SimpleFactory { //简单工厂方法。
public static Product Create(String pString) {
if (pString.equals("ConcreteProductA")) {
return new ConcreteProductA();
} else if (pString.equals("ConcreteProductB")) {
return new ConcreteProductB();
} else {
return null;
}//end if else }//end method Create }//end class SimpleFactory