创建型设计模式 - 工厂方法
工厂方法模式
概念
工厂方法是创建型设计模式之一。上端只需要实例化对应的工厂,不需要了解具体的逻辑。
核心代码
/// <summary>
/// 工厂方法设计模式
/// 如果新增一个对象,只需要新增一个对象和他相对应的工厂,不需要修改原本的工厂方法,便于扩展
/// </summary>
public class FactoryMethord
{
/// <summary>
/// 上端需要传递一个需要创建某个对象的工厂
/// </summary>
/// <param name="factory"></param>
/// <returns></returns>
public static IProduct_FM CreateProcut_FM(Factory factory)
{
return factory.CreateProcut_FM();
}
}
/// <summary>
/// IProduct Factory Methord
/// </summary>
public interface IProduct_FM
{
void Show();
}
public class Product1_FM : IProduct_FM
{
public void Show()
{
Console.WriteLine("Product1_FM - Show");
}
}
public class Product2_FM : IProduct_FM
{
public void Show()
{
Console.WriteLine("Product2_FM - Show");
}
}
public class Product3_FM : IProduct_FM
{
public void Show()
{
Console.WriteLine("Product3_FM - Show");
}
}
public abstract class Factory
{
//创建对象的抽象方法
public abstract IProduct_FM CreateProcut_FM();
}
/// <summary>
/// 创建产品1的工厂
/// </summary>
public class Product1_FM_Factory : Factory
{
public override IProduct_FM CreateProcut_FM()
{
return new Product1_FM();
}
}
public class Product2_FM_Factory : Factory
{
public override IProduct_FM CreateProcut_FM()
{
return new Product2_FM();
}
}
public class Product3_FM_Factory : Factory
{
public override IProduct_FM CreateProcut_FM()
{
return new Product3_FM();
}
}
总结
工厂方法为一组相同类型的对象提供创建的方法。

浙公网安备 33010602011771号