抽象工厂模式

1. 抽象工厂模式的动机与定义

1.1 抽象工厂模式的动机

在工厂方法模式中具体的工厂负责生产具体的产品,每一个产品对应一个工厂,工厂方法也具有唯一性,一般情况下,一个具体的工厂只有一个工厂方法或一组重载的工厂方法。但是有时候我们并不希望一个工厂只生产一种单一产品,比如电视设备工厂,希望它能够生产电视机、电冰箱、空调等设备,而不是生产某种类型的电器。

1.2 抽象工厂模式的定义

抽象工厂模式定义:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称Kit模式,属于对象创建型模式

2. 抽象工厂模式结构与分析

2.1 抽象工厂模式结构

抽象工厂模式结构图

  • AbstractFactory(抽象工厂)

抽象工厂用于声明生产抽象产品的方法,在一个抽象成工厂中可以定义一组方法,每一个方法对应一个产品等级结构

  • ConcreateFactory(具体工厂)

具体工厂实现了抽象工厂声明的生成抽象产品的方法,生产一组具体产品,这些产品构成了一个产品族。每一个产品都位于某一个产品等级结构中

  • AbstractProduct(抽象产品)

抽象产品为每种产品声明接口,在抽象产品中定义了产品的抽象业务方法

  • ConcreateProduct(具体产品)

具体产品定义具体工厂生产的具体产品对象,实现抽象产品接口中定义的业务方法

2.2 抽象工厂模式分析

抽象工厂模式最早的应用是用来创建在不同操作系统的图形环境下都能够运行的系统例如Windows与Linux系统下都有图形环境的构件,在每一个操作系统下,都有一个图形构件组成的构件家族,可以通过一个抽象角色给出功能定义,而由具体子类给出不同操作系统下的实现。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李同学va

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值