Singleton Pattern

Posted: May 13, 2009 in IT and Programming Stuff
Tags: ,

Singleton class adalah class yang hanya dapat diinstansiasi satu kali.
Contoh keperluan :
– Menginginkan hanya ada satu koneksi yang aktif ke database.
– Jendela video pada video player
– Kotak dialog Find pada microsoft word. Ketika kita mengetikkan shortcut
ctrl+f, muncul dialog Find. Kita ketikkan ctrl+f lagi,
ternyata dialog Find tidak bertambah.

Apabila kita memiliki suatu kebutuhan yang sesuai dengan adanya
singleton class, maka gunakanlah. Dengan menggunakan singleton class ini,
program kita akan lebih aman dari penggunaan resource yang tidak perlu.

Terdapat dua cara pembuatan singleton class :
1. Menggunakan field final
public class Elvis
{
public static final Elvis INSTANCE = new Elvis();
private Elvis(){}

}

2. Menggunakan factory method
public class Elvis {
private static final Elvis INSTANCE = new Elvis();
private Elvis() {

}

public static Elvis getInstance() {
return INSTANCE;
}
}

Gunakan cara pertama apabila anda yakin class yang anda buat adalah
benar-benar singleton class. Gunakan cara kedua apabila masih ada kemungkinan suatu saat class yang anda buat tidak lagi menjadi singleton class.

Oia, buat anda yang sudah pernah pake spring, sadarkah bahwa setiap bean yang anda definisikan di file *-servlet.xml secara default merupakan singleton class ?? Tanya kenapa, hehe..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s