簡單工廠模式是屬於創建型模式,又叫做靜態工廠方法(Static Factory Method)模式,但不屬於23種GOF設計模式之一。簡單工廠模式是由一個工廠對象決定創建出哪一種產品類的實例。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解爲是不同工廠模式的一個特殊實現。
以下是C#實現的一個簡單工廠的例子。
//工廠類
public class OperationFactory
{
public static Operation CreateOperation(string operateSymbol)
{
Operation operation = null;
switch (operateSymbol)
{
case "A":
default:
operation = new OperationA();
break;
case "B":
operation = new OperationB();
break;
case "C":
operation = new OperationC();
break;
case "D":
operation = new OperationD();
break;
}
return operation;
}
public static type MethodName(string operateSymbol)
{
Operation operation = CreateOperation(operateSymbol);
return operation.MethodNameO<span style="font-family: Arial, Helvetica, sans-serif;">();</span>
}
}
<span style="white-space:pre"> </span>//抽象類
public abstract class Operation
{
// 私有變量
private float VariableName = 0;
public float VaribaleName
{
get { return VariableName;}
set { VariableName = value;}
}
public abstract type MethodNameO<span style="font-family: Arial, Helvetica, sans-serif;">();</span>
}
//產品類
public class OperationA : Operation
{
public override type MethodNameO()
{
return ;
}
}
在使用的界面代碼中:
=OperationFactory.MethodName(傳入參數);