1700456864
设计模式之禅 7.2 单例模式的定义
1700456865
1700456866
单例模式(Singleton Pattern)是一个比较简单的模式,其定义如下:
1700456867
1700456868
Ensure a class has only one instance,and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。)
1700456869
1700456870
单例模式的通用类图如图7-2所示。
1700456871
1700456872
1700456873
1700456874
1700456875
图7-2 单例模式通用类图
1700456876
1700456877
Singleton类称为单例类,通过使用private的构造函数确保了在一个应用中只产生一个实例,并且是自行实例化的(在Singleton中自己使用new Singleton())。单例模式的通用源代码如代码清单7-3所示。
1700456878
1700456879
代码清单7-3 单例模式通用代码
1700456880
1700456881
public class Singleton{
1700456882
1700456883
private static final Singleton singleton=new Singleton();
1700456884
1700456885
//限制产生多个对象
1700456886
1700456887
private Singleton(){
1700456888
1700456889
}
1700456890
1700456891
//通过该方法获得实例对象
1700456892
1700456893
public static Singleton getSingleton(){
1700456894
1700456895
return singleton;
1700456896
1700456897
}
1700456898
1700456899
//类中其他方法,尽量是static
1700456900
1700456901
public static void doSomething(){
1700456902
1700456903
}
1700456904
1700456905
}
1700456906
1700456907
1700456908
1700456909
1700456911
设计模式之禅 7.3 单例模式的应用
1700456912
[
上一页 ]
[ :1.700456863e+09 ]
[
下一页 ]