抽象工厂模式 抽象工厂模式: 提供了一个创建一些列相关或相互依赖对象的接口,而无需指定它们具体的类。 先回顾一下简单工厂和工厂方法: 简单工厂:其有一个产品的抽象基类,从中衍生出多个具体的产品。还有一个工厂类,其中通过switch再利用多态的形式,构建产品。 工厂方法:由于简单工厂如果添加产品就会导 ...
分类:
其他好文 时间:
2020-01-22 14:26:02
阅读次数:
56
前言 在介绍工厂方法模式之前,我们需要知道这个设计模式是什么,解决了什么样的问题?在上一篇博客 设计模式(Java语言)- 简单工厂模式 介绍了简单工厂模式,然后总结了简单工厂模式的缺点: 1、当新增类型时,我们不得不修改原来的工厂,这样就违背了设计模式6大原则中的 开闭原则。 2、简单工厂模式使用 ...
分类:
编程语言 时间:
2020-01-22 11:14:50
阅读次数:
94
第一种:简单工厂又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。 spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得bean对 ...
分类:
编程语言 时间:
2020-01-21 12:09:20
阅读次数:
98
返回上一级目录:Java设计模式 抽象工厂模式,相对于工厂方法模式来说,抽象工厂模式是用于产品簇的创建,向调用者提供多个系列产品对象。比如一套服饰,有衣服,有鞋,衣服属衣服产品类,鞋属鞋产品类,通过抽象工厂模式可以创建不同的衣服和鞋的组合。 抽象工厂模式有4中角色:抽象工厂角色,具体工厂角色,抽象产 ...
分类:
其他好文 时间:
2020-01-20 18:43:50
阅读次数:
80
大三上学期结束了,所有科目的成绩都出了,拉稀的一塌糊涂,但我总觉得为时不晚,所以现在开始重新学习设计模式、Oracle、编译原理。 简单工厂模式 说实话其实很简单,就是当你实例化这个对象的时候,实例化的过程拿出来放到了工厂里面进行,你可以直接拿到这个对象但是你却看不到这个对象的实例过程和实例逻辑。 ...
分类:
其他好文 时间:
2020-01-20 15:04:59
阅读次数:
109
返回上一级目录:Java设计模式 工厂方法模式,是对简单工厂模式的升级,将创建产品的工厂抽象出来,具体产品的创建延时到工厂子类去实现,让调用者决定来创建哪一个实例。工厂方法模式有以下角色:抽象产品接口,抽象工厂接口,具体产品,具体工厂。 类关系图如下: 抽象产品接口,定义产品的行为 具体产品,具体产 ...
分类:
其他好文 时间:
2020-01-20 13:17:32
阅读次数:
101
返回上一级目录:Java设计模式 简单工厂模式,又叫静态工厂模式,是最简单的一种模式,只有3种角色:抽象产品接口,具体产品,工厂角色。 抽象产品接口,就是定义产品的行为 具体产品,具体产品的实现,也就是我们最终要得到的对象,当然不止一个 工厂角色,工厂负责创建所有的产品实例 最后就是应用了 输出: ...
分类:
其他好文 时间:
2020-01-19 22:32:09
阅读次数:
115
目录: 设计模式的六大原则 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern) 本文参考:菜鸟教程, ...
分类:
其他好文 时间:
2020-01-17 20:46:07
阅读次数:
93
package designMode; import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import jav ...
分类:
其他好文 时间:
2020-01-17 20:43:54
阅读次数:
74
工厂模式: 是 模板方法模式 的典型应用。 工厂模式 中应会有 模板方法模式 的出现。 ①.工厂模式分类 + 工厂方法模式 + 一个抽象产品类,可以派生出多个具体的产品类。 + 一个抽象工厂类,可以派生出多个具体的工厂类。 + 每一个具体工厂只能创建一个具体产品类的实例。 + 抽象工厂公式 + 多个 ...
分类:
其他好文 时间:
2020-01-17 15:11:07
阅读次数:
97