设计模式(二):多列设计模式
多列设计模式
1.什么是多列设计模式
多例模式,是一种常用的软件设计模式。通过多例模式可以保证系统中,应用该模式的类有固定数量的实例。多例类要自我创建并管理自己的实例,还要向外界提供获取本类实例的方法。
2.多列设计模式的实现步骤
a.创建一个类, 将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。
b.在类中定义该类被创建的总数量
c.在类中定义存放类实例的list集合
d.在类中提供静态代码块,在静态代码块中创建类的实例
e.提供获取类实例的静态方法
3.实现代码
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Multition {
// 定义该类被创建的总数量
private static final int maxCount = 3;
// 定义存放类实例的list集合
private static List instanceList = new ArrayList();
// 构造方法私有化,不允许外界创建本类对象
private Multition() {
}static {
// 创建本类的多个实例,并存放到list集合中
for (int i = 0; i < maxCount; i++) {
Multition multition = new Multition();
instanceList.add(multition);
}
}
// 给外界提供一个获取类对象的方法
public static Multition getMultition(){
Random random = new Random();
// 生成一个随机数
int i = random.nextInt(maxCount);
// 从list集合中随机取出一个进行使用
return (Multition)instanceList.get(i);
}
}
静态代码块随着类的加载而执行,而且只执行一次,在类初始化时执行,创建该类的实例保存到list集合中。
保证了该模式的类有固定数量的实例。
static关键字修饰方法,可以直接通过类名来进行调用该方法,即向外界提供获取本类实例的方法