设计模式--抽象工厂模式

抽象工厂模式提供创建一系列相关对象的接口,不指定具体类。它包括抽象工厂、具体工厂、抽象产品和具体产品四个角色。与简单工厂和工厂方法模式相比,抽象工厂模式更关注产品族的创建,适用于需要创建多个相关产品的情况。简单工厂模式适用于静态实例化,工厂方法模式支持灵活增加新产品。
摘要由CSDN通过智能技术生成

        抽象工厂模式是指一个工厂等级结构可以创建出分属于不同产品等级结构的一个产品族中的所有对象。如果用图来描述,提供创建对象的接口与工厂方法模式类似,返回一系列相关产品,实现过程也需推延到子系列类去实现。与工厂方法模式的区别就在于它们的层次模型不同。

抽象工厂模式的工厂是按照产品族进行分开

        

1、意图

提供一个创建一系列相关、相互联系对象的接口,而无需指定它们具体的类

2、角色及责任

2.1 抽象工厂角色(Abstract Factory):担任这个角色的是工厂方法模式的核心,是与应用系统商业逻辑无关的。

2.2 具体工厂角色(Concrete Factory):这个角色直接在客户端的调用下创建产品的实例。这个角色含有选择合适的产品对象的逻辑,这个逻辑是与应用系统的商业逻辑紧密相关的。

2.3 抽象产品角色(Abstract Product):担任这个角色的类是工厂方法模式所创建的对象的父类或共同拥有的接口。

2.4 具体产品角色(Concrete Product):抽象工厂模式所创建的任何产品对象都是某一个具体产品类的实例,这是客户端最终需要的东西,内部一定充满了应用系统的商业逻辑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值