工厂模式
工厂模式是我们常用的模式,简单的一句话概括就是负责生产对象的一个类,举例说明:
public abstract class Food
{
public abstract void Print();
}
public abstract class Creator
{
public abstract Food CrateFood();
}
Food是要被生产的对象,Creator是负责生产的类,之所以用抽象,是因为方便扩展,比如现在我们要炒个西红柿,那么西红柿就是我们要生产出来的对象,负责把西红柿生产出来的就是工厂,上代码:
public class TomatoFood : Food
{
public override void Print()
{
Console.WriteLine("我吃西红柿");
}
}
public class TomatoFoodFactory : Creator
{
public override Food CrateFood()
{
return new TomatoFood();
}
}
我现在要吃西红柿 ,这么吃:
Creator factory = new TomatoFoodFactory();
var food = factory.CrateFood();
food.Print();
这就是工厂模式,上面之所以用到抽象类,是为了扩展,比如:我现在要吃土豆,上代码:
public class PotatoesFood : Food
{
public override void Print()
{
Console.WriteLine("我要吃土豆");
}
}
public class PotatoesFactory : Creator
{
public override Food CrateFood()
{
return new PotatoesFood();
}
}
Creator factory = new PotatoesFactory();
var food = factory.CrateFood();
food.Print();
方面吧,这就是扩展,简单吧
现在是不是想吃啥就能吃啥了 ,哈哈哈 , 工厂模式就是负责生产对象的一个类