单例模式(传统意义上的)
应用场景
当该实例是没有状态(没有变量等),并且在外部调用时可以使用单例模式
不管你并发有多少,在多线程中只会产生一个该实例
实现方法
- 构造方法要设为private,也就是说在此类外不能调用这个方法
- 在类中new一个static 此类实例
- 定义初始化static方法 返回 此类实例
基本代码
public class SingletonTest {
private SingletonTest() {
}
private static SingletonTest singletonTest = new SingletonTest();
public static SingletonTest getInstance() {
return singletonTest;
}
public void aMethod() {
System.out.println("call singelton");
}
}
大工厂模式
应用场景
给材料得到一个实例或者对象
实现方法
-
工厂有一个xml配置文件。里面放一些工厂原材料,对他进行读取
可以使用单例模式实现
getByXXX();