Halaman

Subscribe:

Main Menu

Rabu, Agustus 20, 2008

Singleton dalam Java

Pertama saya denger kata-kata ini. saya bingung apa maksud dari singleton. kata temen-temen itu tentang teknik untuk menjaga agar class itu bisa static. kayak session gitu. tapi beda :D.

Singleton itu di gunakan saat kita membutuhkan sebuah object atau class yang sering di pakai oleh object lain. jadi kalau kita definisikan berkali-kali pada tiap object. tentunya akan berakibat menghabiskan resource yang berlebih.

Misalnya gini. saat kita butuh sebuah kendaraan untuk pergi ke surabaya rombongan dengan 10 orang. tentu akan lebih baik jika kita menyewa satu buah kendaraan yang muat untuk semuanya. bukan menyewa 10 kendaraan untuk masing2 orang. kalo masing2 menyewa mobil pasti jalanan akan macet. kekekek :D. dan yang di tugasi menyewa tentunya harus satu orang saja agar tidak salah kaprah :D. kalo gak janjian ntar bisa2 pesen semua. :D.

nah sma juga dalam Design Pattern di java. teknik ini di namakan Singleton. Ciri-Ciri dari Singleton adalah :


1. Constructornya memiliki tipe private. jadi tidak boleh semua object menginstanskan object
ini
2. Ada satu variable yang tipenya static dari object itu sendiri.
3. Ada satu method public yang mengembalikan Object dengan tipe object itu sendiri.

Contoh programnya langsung aja ya. Class yang memiliki tipe singleton itu kayak gini

public class Singleton{
private static Singleton;

private Singleton(){
}

public Singleton getInstance(){
if(singleton==null){
singleton=new Singleton();
}
return singleton;
}
}

3 komentar:

Erik mengatakan...

May I correct your code:

public class Singleton
{
private static Singleton _instance = null;

private Singleton()
{
;
}

public static Singleton getInstance()
{
if(Singleton._instance == null)
Singleton._instance = new Singleton();
return Singleton._instance;
}
}

Nada mengatakan...

mas Kalo mau buat JInternalFrame hanya tampil 1x pas klik menu item
pakai metode singleton gimana
....

Ali mengatakan...

caranya ya sama dengan contoh di atas. buat variable static JinternalFrame. lalu di panggil kelasnya dengan [NamaKelas].getInstance();