假设我们要生产鼠标跟键盘
创建鼠标抽象类
public abstract class AbstractMouse
{
public abstract void Print();
}
dell鼠标类
public class DellMouse : AbstractMouse
{
public override void Print()
{
Debug.Log("生产了一个Dell鼠标");
}
}
hp鼠标类
public class HpMouse : AbstractMouse
{
public override void Print()
{
Debug.Log("生产了一个Hp鼠标");
}
}
主函数进行生产
public class FactMain : MonoBehaviour
{
void Start()
{
RunNormal();
}
void RunNormal()
{
DellMouse dellMouse = new DellMouse();
dellMouse.Print();
HpMouse hpMouse = new HpMouse();
hpMouse.Print();
}
}
运行效果:
这个通过外界直接创建鼠标实例。
下面我们使用工厂模式进行创建
1.简单工厂模式
属于创建型模式,又叫静态工厂方法模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式中最简单实用的模式。
特点:只生产一种品牌的产品,在工厂中动态创建
简单工厂模式通过一个中间件,生产具体品牌的鼠标
public class SampleFactor
{
public AbstractMouse CreateMouse(MouseType emMouseType)
{
AbstractMouse mouse = null;
//利用枚举给予鼠标类型
switch (emMouseType)
{
case MouseType.HpMouse:
mouse = new HpMouse();
break;
case MouseType.DellMouse:
mouse = new DellMouse();
break;
default:
break;
}
return mouse;
}
}
public enum MouseType
{
None,
DellMouse,
HpMouse,
}
public class FactMain