工厂模式有三种,简单、方法‘抽象三种,我理解为一维,二维,三维的层面,主要就是返回方法,不用自己手动new,而是依靠返回。
就不贴代码了。
工厂模式嘛,就是你想要什么对象,不用通过自己手动new,而是通知“工厂”,让他帮你制作,简单来说就是工厂方法return给你一个对象。
一维二维三维的层面就是简单工厂、方法工厂、抽象工厂三种。
1、简单工厂就是一对一的模式。Pizza是事先定义好的类,然后通过GetPizza方法,返回一个对象。
public Pizza GetPizza()
{
return new Pizza();
}
2、方法工厂就是一对多的模式。Pizza是基类,MeatPizza和VegetablePizza和NormalPizza是Pizza的派生类
public Pizza GetPizza(string PizzaName)
{
if (PizzaName == "MeatPizza")
{
return new MeatPizza();
}
else if (PizzaName == "VegetablePizza")
{
return new VegetablePizza();
}
else
{
return new NormalPizza();
}
}
3、抽象工厂就是多对多的模式。
public static void Main(string[] args)
{
PizzaStore cnPizzaStore = ne