美文网首页
抽象工厂模式

抽象工厂模式

作者: Loistein | 来源:发表于2019-06-27 14:37 被阅读0次
  • 抽象工厂模式:抽象工程模式是工厂方法模式的升级版,工厂方法模式只生产一个等级的产品,而抽象工厂模式可以生产多个等级的产品
  • 使用抽象工厂模式一般要满足以下条件:
    系统中有多个产品族,每个具体工厂创建同一族但属于不同等级结构的产品
    系统一次只能消费其中某一族产品,即同族的产品一起使用
  • 比抽象工厂模式的优点
    可以在类的内部对产品关联的多等级产品共同管理,而不必专门引入多个新的类来进行管理
    当增加一个产品族时不需要修改原代码,满足开闭原则
  • 缺点
    当产品族中需要增加一个新的产品时,所有工厂类都需要修改

模式的结构

抽象工厂
具体工厂
抽象产品
具体产品

模式的实现

  • 抽象工厂
interface AbstractFactory
{
    public Product1 newProduct1();
    public Product2 newProduct2();
}
  • 具体工厂
class ConcreteFactory1 implements AbstractFactory
{
    public Product1 newProduct1()
    {
        System.out.println("具体工厂 1 生成-->具体产品 11...");
        return new ConcreteProduct11();
    }
    public Product2 newProduct2()
    {
        System.out.println("具体工厂 1 生成-->具体产品 21...");
        return new ConcreteProduct21();
    }
}

相关文章

网友评论

      本文标题:抽象工厂模式

      本文链接:https://www.haomeiwen.com/subject/ejtrcctx.html