J2EE Singleton Pattern - Design Pattern Tutorials

Ads
 

J2EE Singleton Pattern - Design Pattern Tutorials

J2EE singleton pattern

J2EE singleton pattern

J2EE Singleton Pattern

Singleton Design Pattern

This design pattern governs the object instantiation of Object in Java. This design pattern is used when only one instance of object is required. The Constructor in a Singleton class is private and a public static method is used to get the Object of the Singleton class.

Consider a simple Singleton class.

public class SimpleSingletonClaz {
	private static SimpleSingletonClaz singletonObject = new SimpleSingletonClaz();

	// private constructor of a Singleton Class
	private SimpleSingletonClaz() {

	}
	// Get Singleton class Object
	public static SimpleSingletonClaz getSingletonInstance() {
		return singletonObject;
	}
}

In the above code you can see that, there is a private static object of that class and singleton class have a private constructor which restricts the direct instantiation of an object. To get the object of that class, a static method is created, this return the singleton object.

In the above case the when the class is loaded the instance of the class is loaded, it is no loaded on demand and not following the Lazy Loading Idiom. So we can change the code slightly different as

package singleton;

public class SimpleSingletonClaz {
	private static SimpleSingletonClaz singletonObject = null;

	// private constructor of a Singleton Class
	private SimpleSingletonClaz() {

	}

	// Get Singleton class Object
	public static SimpleSingletonClaz getSingletonInstance() {
		
		// Checking whether the instance is created or not
		if (singletonObject == null) {
			singletonObject = new SimpleSingletonClaz();
		}
		return singletonObject;
	}
}

The singleton design pattern is used with the conjunction with the factory method patterns to create a system wide resource.

Read more..

Ads

Ads