工厂模式是比较简单,也是比较好用的一种方式。根本上说,工厂模式的目的就根据不同的要求输出不同的产品。比如说吧,有一个生产鞋子的工厂,它能生产皮鞋,也能生产胶鞋。如果用代码设计,应该怎么做呢?
public interface Shoe
{
}
public class Leather_Shoe:Shoe
{
public Leather_Shoe()
{
Console.WriteLine("This is a leather show!\n"");
}
}
public class Rubber_Shoe:Shoe
{
public Rubber_Shoe()
{
Console.WriteLine(""This is a rubber shoe!\n"");
}
}
我们的
Shoe
Factory应该是怎么样呢?
public class ShoeFactory
{
public Leather_Shoe MakeLeather_Shoe()
{
return new Leather_Shoe();
}
public Rubber_Shoe MakeRubber_Shoe()
{
return new Rubber_Shoe();
}
}
怎么使用这个工厂呢?我们来写下面的代码:
string ShoeName = Console.ReadLine();
Shoe MyShoe = null;
ShoeFactory MyShoeFactory = new MyShoeFactory();
switch (ShoeName)
{
case "Leather_Shoe":
MyShoe = MyShoeFactory.MakeLeather_Shoe();
break;
case "Rubber_Shoe":
MyShoe = MyShoeFactory.MakeRubber_Shoe();
break;
default:
break;
}