我的理解是将简单工厂模式里面的工厂类,通过抽象分开来
抽象产品
namespace DesignPattern.设计模式._2.工厂模式
{
abstract class ProductBase
{
}
}
实际产品
namespace DesignPattern.设计模式._2.工厂模式
{
class ProductA : ProductBase
{
}
}
namespace DesignPattern.设计模式._2.工厂模式
{
class ProductB : ProductBase
{
}
}
抽象工厂
namespace DesignPattern.设计模式._2.工厂模式.工厂模式
{
abstract class FactoryBase
{
public abstract ProductBase GetProduct();
}
}
实际工厂
namespace DesignPattern.设计模式._2.工厂模式.工厂模式
{
class AFactory : FactoryBase
{
public override ProductBase GetProduct()
{
return new ProductA();
}
}
}
namespace DesignPattern.设计模式._2.工厂模式.工厂模式
{
class BFactory : FactoryBase
{
public override ProductBase GetProduct()
{
return new ProductB();
}
}
}
这里的工厂模式,AFactory和BFactory只能实例化出来一种产品
本文深入解析工厂模式,通过抽象工厂和具体工厂的实现,展示如何创建不同产品实例。AFactory和BFactory作为具体工厂,分别负责实例化ProductA和ProductB,遵循单一职责原则。
2192

被折叠的 条评论
为什么被折叠?



