抽象工厂模式

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

模式的结构

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

模式的实现

  • 抽象工厂
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();
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容