1) 意图: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。 2) 结构: 其中: Product定义工厂方法所创建的对象的接口 ConcreteProduct实现Product接口 Creator声明工厂方法 Creator和Product 一一对应,Creator可以派生多个具体工厂类, ...
分类:
编程语言 时间:
2020-01-22 14:36:38
阅读次数:
104
抽象工厂模式 抽象工厂模式: 提供了一个创建一些列相关或相互依赖对象的接口,而无需指定它们具体的类。 先回顾一下简单工厂和工厂方法: 简单工厂:其有一个产品的抽象基类,从中衍生出多个具体的产品。还有一个工厂类,其中通过switch再利用多态的形式,构建产品。 工厂方法:由于简单工厂如果添加产品就会导 ...
分类:
其他好文 时间:
2020-01-22 14:26:02
阅读次数:
56
一、线程管理 1、创建线程 Thread、Runnable、Callable、ThreadPool 2、状态切换 3、守护线程 4、异常捕获 5、局部变量 6、线程组 7、工厂类 二、同步 1、synchronized 2、ReentrantLock 三、同步辅助类 1、Semaphore信号量 2 ...
分类:
编程语言 时间:
2020-01-21 18:27:13
阅读次数:
102
第一种:简单工厂又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。 spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得bean对 ...
分类:
编程语言 时间:
2020-01-21 12:09:20
阅读次数:
98
适用性: 1.当一个系统应该独立于它的产品创建,构成和表示时; 2.当要实例化的类是在运行时刻指定时,例如,通过动态装载; 3.为了避免创建一个与产品类层次平行的工厂类层次时; 4.当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便 ...
分类:
其他好文 时间:
2020-01-20 20:46:02
阅读次数:
83
返回上一级目录:Java设计模式 工厂方法模式,是对简单工厂模式的升级,将创建产品的工厂抽象出来,具体产品的创建延时到工厂子类去实现,让调用者决定来创建哪一个实例。工厂方法模式有以下角色:抽象产品接口,抽象工厂接口,具体产品,具体工厂。 类关系图如下: 抽象产品接口,定义产品的行为 具体产品,具体产 ...
分类:
其他好文 时间:
2020-01-20 13:17:32
阅读次数:
101
工厂模式: 是 模板方法模式 的典型应用。 工厂模式 中应会有 模板方法模式 的出现。 ①.工厂模式分类 + 工厂方法模式 + 一个抽象产品类,可以派生出多个具体的产品类。 + 一个抽象工厂类,可以派生出多个具体的工厂类。 + 每一个具体工厂只能创建一个具体产品类的实例。 + 抽象工厂公式 + 多个 ...
分类:
其他好文 时间:
2020-01-17 15:11:07
阅读次数:
97
工厂模式 优点: 1、一个调用者想创建一个对象,只要知道其名称就可以了。 2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。 3、屏蔽产品的具体实现,调用者只关心产品的接口。 缺点:每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的 ...
分类:
其他好文 时间:
2020-01-16 12:23:56
阅读次数:
78
第一:如果你使用BeanFactory作为Spring Bean的工厂类,则所有的bean都是在第一次使用该Bean的时候实例化 第二:如果你使用ApplicationContext作为Spring Bean的工厂类,则又分为以下几种情况: (1):如果bean的scope是singleton的,并 ...
分类:
编程语言 时间:
2020-01-16 00:49:57
阅读次数:
68
一、定义 抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定一个具体的类。 二、优点 1.方便更换产品的类型,由于具体工厂类在一个应用只需要初始化的时候出现一次,使得改变一个应用的具体工厂变得非常容易,只需改变具体的工厂即可使用不同的产品配置。 2.让具体的创建实例过程与客户端分离 ...
分类:
其他好文 时间:
2020-01-16 00:36:35
阅读次数:
84