俗话说的好,好记性不如烂笔头。所以也就想在学习java的过程中写写笔记,以后忘记了也就可以翻开来看看。
简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。为了让客户得到一个类的实例,通常的做法是提供一个公有的构造方法,诚然这不是一个很好的处理方法。在JDK 1.4 以后,类可以为客户提供静态工厂方法来代替构造方法,大部分同时也提供了构造方法,当然这个做法有利有弊。
优点:
1、静态工厂不必在每次调用的时候都要创建一个对象。可以使用一个预先已经创建好的实例,或者把已经创建好的实例缓存起来,到调用的时候再分发到客户处,从而避免重复地创建对象。如果一个程序频繁地创建相同的对象,静态工厂方法可以提供性能。
package com.fancy.simple;
public class SimpleFactory{
/**
* 静态工厂方法
*
*/
public static SimpleFactory(){
return new SimpleFactory();
}
}
2、静态工厂方法的核心是工厂类。该类包含有必要的逻辑,可以决定在什么时候创建,创建哪一个。客户类则不必知道对象如何创建,而仅仅负责使用。这就实现了对创建对象责任的分隔。
缺点:
1、如果类不含公有的或受保护的构造函数,就不能被子类化。
由于使用静态方法作为工厂方法,而静态方法无法有子类继承,因此无法形成基于继承的登记结构。
总的来说,静态工厂方法和公有的构造方法都有各自的用途。