http://www.cnblogs.com/zhanghaipeng-Unity3D/p/4752181.html
简单工厂模式是一种创建模式,主要是通过一个静态函数,根据不同的传入参数返回不同类的实例。涉及到一个超类和多个产品类,优点是方便了类的创建管理,实现简单,缺点是当需要新加产品类时,需要修改工厂类的代码,一定程度上违反的"开闭原则"。
public abstract Gun //超类枪
{
public virtual void Attack()
{
Console.WriteLine("attack")
}
}
public AK47 : Gun //产品类Ak47
{
public override Attack()
{
Console.WriteLine("ak47 shot");
}
}
public Handgun : Gun //产品类handgun
{
public override Attakc()
{
Console.WriteLine("handgun shot");
}
}
public SimpleFactory //简单工厂类
{
public static Gun CreateGun(string gunName)
{
Gun gun = null;
switch(gunName)
{
case "ak47":
gun = new AK47();
break;
case "handgun":
gun = new Handgun();
break;
}
return gun;
}
}