02.01工厂方法模式
工厂方法模式
在简单工厂模式中,只有唯一的一个factory来判断生成不一样的product,但是实际中可能会出现不同的factory来生产不同的商品。工厂方法模式是简单工厂的变化
// 抽象商品和工厂
namespace 工厂方法模式
{
public abstract class Factory
{
public abstract Product Create();
}
public abstract class Product
{
}
}
// 具体商品
namespace 工厂方法模式
{
class Car : Product
{
}
class Phone : Product
{
}
}
// 具体工厂
namespace 工厂方法模式
{
class CarFactory : Factory
{
public override Product Create()
{
return new Car();
}
}
class PhoneFactory : Factory
{
public override Product Create()
{
return new Phone();
}
}
}
// 创建实例
namespace 工厂方法模式
{
class Program
{
static void Main(string[] args)
{
Factory factory = new CarFactory();
Product car = factory.Create();
Factory phoneFactory = new PhoneFactory();
Product phone = phoneFactory.Create();
}
}
}