工厂模式

工厂模式是我们常用的模式,简单的一句话概括就是负责生产对象的一个类,举例说明:

   

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();

方面吧,这就是扩展,简单吧

现在是不是想吃啥就能吃啥了 ,哈哈哈 , 工厂模式就是负责生产对象的一个类

 

posted on 2019-03-19 10:39  1老王  阅读(104)  评论(0编辑  收藏  举报