步骤
1. 创建抽象产品类
2. 创建真实产品
3. 创建抽象工厂类
public abstract class Phone
{
public abstract void print();
}
//真实产品1
public class XiaoMiPhone:Phone
{
public override void print()
{
Console.WriteLine("我是小米手机");
}
}
//真实产品2
public class ApplePhone : Phone
{
public override void print()
{
Console.WriteLine("我是苹果手机");
}
}
//工厂
public class PhoneFactory
{
public static Phone createPhone(string code)
{
Phone phone = default(Phone);
switch (code)
{
case "mi":
phone= new XiaoMiPhone();
break;
case "iPhone":
phone= new ApplePhone();
break;
}
return phone;
}
}
4. 在客户端使用
class Program
{
static void Main(string[] args)
{
Phone xiaomi = PhoneFactory.createPhone("mi");
xiaomi.print();
Phone iPhone = PhoneFactory.createPhone("iPhone");
iPhone.print();
Console.ReadKey();
}
}
后记:
简单工厂方法的弊端是:当有新的产品的时候,要修改工厂类。