1.创建型.1工厂模式



工厂模式有三种:1、简单工厂。2、工厂。3、抽象工厂。

------------------------概述--------------------------------------------------------------------
简单工厂模式:
工厂类决定产出的产品类型,增加新类型需要修改工厂类。
工厂模式:
每一个产品类型对应一个不同的工厂实现类,一个工厂的接口方法产出固定类型产品。
示例1:
产品接口:文具
产品实现类1:铅笔
产品实现类2:橡皮

工厂接口:生产
工厂实现类1:铅笔工厂(生产)
工厂实现类2:橡皮工厂(生产)

客户端:铅笔工厂.生产()

抽象工厂模式:
工厂类的不同方法(抽象类方法)产生不同的产品类型。(一般采用抽象工厂的场景,会有多个工厂,以及对产品进行分类)
和工厂模式相比,抽象工厂模式的核心点是:
产品又细分了一个维度(每个类型的产品可以产生多份),导致需要增加另一个维度的工厂,因此将原维度的多个工厂合并在一起成为一个工厂,此时不同的工厂,产生的是新维度的产品。
示例2
新增了一个产品品牌的工厂维度:

产品接口1:铅笔
产品接口2:橡皮
产品实现类1:晨光铅笔
产品实现类2:晨光橡皮
产品实现类3:彩铅笔
产品实现类4:彩橡皮

工厂接口1:品牌工厂(生产铅笔、生产橡皮)
工厂实现类1:晨光工厂(生产晨光铅笔、生产晨光橡皮)
工厂实现类2:彩工厂(生产彩铅笔、生产真彩橡皮)
客户端:晨光工厂.生产晨光铅笔()
-------------------------------------------------------------------------------------------------
1、简单工厂。(包括普通工厂、多个工厂、静态工厂)

一个工厂类生产不同的对象。一个产品接口,产品实现类。
优点:客户端不需要修改代码。
缺点: 当需要工厂产生新的对象类型的时候,必须要修改工厂类。

a、普通工厂,工厂类根据传入的参数判断生产的对象类型。
b、多个工厂,工厂类不同的方法生产不同的对象类型。
c、静态工厂,与多个工厂同结构,只是方法是静态方法。

2、工厂。

工厂模式,每个产品实现类,配套一个工厂实现类。
工厂产出什么类型的产品在工厂内部决定,生产产品是调用工厂的接口方法(不同工厂调用的方法是一样的),所以一个工厂实现类的生产方法只能生产一个类型的产品。

优点:即使增加新的对象类型,也不需要修改工厂类,只需要新增一个对象类型的工厂实现类即可。
缺点:增加新的对象类型,必须要修改客户端的代码(生成不同对象类型的工厂实例)。



3、抽象工厂。
抽象工厂模式,工厂的不同方法产生不同类型的产品,所以一个工厂可以产生多个不同类型的产品。










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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值