SINGLETON (Object Creational)
Purpose
Ensures that only one instance of a class is allowed within a system.
Use When
1 Exactly one instance of a class is required.
2 Controlled access to a single object is necessary.
Example
Most languages provide some sort of system or environment
object that allows the language to interact with the native operating
system. Since the application is physically running on only one
operating system there is only ever a need for a single instance of
this system object. The singleton pattern would be implemented
by the language runtime to ensure that only a single copy of the
system object is created and to ensure only appropriate processes
are allowed access to it.
Purpose
Ensures that only one instance of a class is allowed within a system.
Use When
1 Exactly one instance of a class is required.
2 Controlled access to a single object is necessary.
Example
Most languages provide some sort of system or environment
object that allows the language to interact with the native operating
system. Since the application is physically running on only one
operating system there is only ever a need for a single instance of
this system object. The singleton pattern would be implemented
by the language runtime to ensure that only a single copy of the
system object is created and to ensure only appropriate processes
are allowed access to it.
- package javaPattern;
- public class Singleton {
- private static Singleton singleton;
- private Singleton(){}//构造器必须私有
- public static Singleton getSingleton(){
- if(singleton == null){
- singleton = new Singleton();
- }
- return singleton;
- }
- public static void main(String[] args) {
- Singleton s1 = Singleton.getSingleton();
- Singleton s2 = Singleton.getSingleton();
- System.out.println(s1 == s2);
- }
- }