5.抽象工厂模式

一.概念

为创建一组相关或相互依赖的对象提供一个接口,而且无须指定他们的具体类

 

二.示例

场景:不同类型应用(社交类:QQ,wechat,游戏类:吃鸡,农药,视频类:优酷,腾讯视频),需要在n个平台(windows,linux,android,ios...)上运行(即:每个平台都要有这几种类型的不同应用),该如何设计?

1.定义抽象产品类(例如:社交类,游戏类,视频类):上图中的AbstractProduct

2.创建具体的产品(例如:QQ,微信...):上图中的ConcreteProduct

3.构建抽象工厂(可以是单个产品类(视频类)的工厂,也可以是多个产品类的工厂):上图中的AbstractFactory

4.创建具体的工厂(例如:windows,linux...):上图中的ConcreteFactory(这里实现抽象工厂的方法,例如创建视频类:windows版优酷,创建社交类windows版QQ)

三.与工厂方法的区别:

个人感觉:工厂方法主要是创建某个具体类而诞生,抽象工厂可以创建某个具体类,也可以创建某个组合类

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值