简单工厂
作者:互联网
简单工厂模式
简单工厂不属于23种设计模式之一
概念
简单工厂其实就是一个创建对象的方法,上端只需要传递一个需要创建对象的类型,通过简单工厂就能得到相应的对象实例。
核心代码
public class SimpleFactory
{
public static IProduct CreateProduct(string type)
{
IProduct product = null;
switch (type)
{
case "1":
product = new Product1();
break;
case "2":
product = new Product2();
break;
case "3":
product = new Product3();
break;
}
return product;
}
}
/// <summary>
/// 接口 这里可以使用抽象类代替
/// </summary>
public interface IProduct
{
void Show();
}
public class Product1 : IProduct
{
public void Show()
{
Console.WriteLine("Product1 - Show");
}
}
public class Product2 : IProduct
{
public void Show()
{
Console.WriteLine("Product2 - Show");
}
}
public class Product3 : IProduct
{
public void Show()
{
Console.WriteLine("Product3 - Show");
}
}
优缺点
优点
上端不需要自己去创建实例,只需要传递一个对象类型(如果构造函数有参数需要传递参数)
缺点
简单工厂创建对象的方法不稳定,如果新增一个对象类型,需要重新修改方法。违背了开闭原则。
举例
上端需要根据一个标识创建对象,后续对该对象进行操作。如果标识为A,创建A对象;标识为B,创建B对象;标识为C,创建C对象。这个时候可以使用简单工厂。
标签:product,Show,void,创建对象,工厂,简单,public,IProduct 来源: https://www.cnblogs.com/Huangxiaomao/p/14799446.html