不会说话,直接贴代码
抽象产品
namespace DesignPattern.设计模式._2.工厂模式
{
abstract class ProductBase
{
}
}
具体产品
namespace DesignPattern.设计模式._2.工厂模式
{
class ProductA : ProductBase
{
}
}
namespace DesignPattern.设计模式._2.工厂模式
{
class ProductB : ProductBase
{
}
}
下面是简单工厂类,主要是实例化产品A,B
namespace DesignPattern.设计模式._2.工厂模式.简单工厂模式
{
class SimpleFactory
{
public ProductBaseGetProduct(ProductType productType)
{
ProductBaseproduct = null;
switch (productType)
{
case ProductType.A:
product = new ProductA();break;
case ProductType.B:
product = new ProductB(); break;
default:break;
}
return product;
}
}
enum ProductType
{
A,
B
}
}
现在如果添加产品C就需要修改工厂类了