1.创建型.1工厂模式
来源:互联网 发布:七天网络查分登录 编辑:程序博客网 时间:2024/05/18 18:53
工厂模式有三种: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
- 1.创建型.1工厂模式
- 创建型--工厂模式
- 工厂模式(创建型)
- 工厂模式--创建型模式
- 创建型模式--工厂模式
- 创建型模式-工厂模式
- 创建型模式--工厂模式
- 创建型模式:【工厂模式】
- 1、创建型:工厂模式(factory)
- 创建型模式:工厂模式(简单工厂模式,抽象工厂模式,工厂模式)
- 设计模式 - 创建型模式 - 工厂模式
- 创建型模式-抽象工厂
- 创建型模式-简单工厂
- 创建型模式-工厂方法
- 创建型模式-工厂方法
- 创建型模式-简单工厂
- 创建型模式-抽象工厂
- 创建型--工厂方法模式
- 《快学Scala》第二章习题解答
- AsyncTask基本用法
- 原来单例模式可以这样实现
- 把ctor和非成员函数虚化
- Union Find算法
- 1.创建型.1工厂模式
- 一种大规模网络流式数据缓存写入的方法
- 表插入排序
- Bash别名与快捷键
- Bash历史命令
- 模板超编程和tuple的输出
- Bash通配符及特殊符号
- Linux网络配置
- 接口应用の接口实现匿名类对象