单例模式也叫静态工厂,虽然是一个很简单的模式,但是在我刚毕业来写项目时,还是让我迷惑了一会。
单例模式用来保证全局环境中只有一个实例对象。就像我项目中的数据一样,将显示数据定义成一个ArrayList或者HashMap,然后在将该数据类定义成单例形式的,这样可以使程序对数据的修改更易于同步,不需要太多的显示界面的同步通知。
/**
* 静态工厂类,这里我继承了ArrayList,做成一个全局的数据容器
* @author wly
*
*/
public class StaticFactory extends ArrayList<String>{
private static StaticFactory staticFactory;
public static StaticFactory getInstance() {
if(staticFactory == null) {
staticFactory = new StaticFactory();
}
return staticFactory;
}
}
/**
* 测试类
* @author wly
*
*/
public class Test {
public static void main(String[] args){
StaticFactory.getInstance().add("ONE");
print(StaticFactory.getInstance());
StaticFactory.getInstance().add("TWO");
print(StaticFactory.getInstance());
}
public static void print(ArrayList<String> list) {
System.out.println("----------");
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
}
}
输出:
----------
ONE
----------
ONE
TWO