Martinus Ady H. BlOg

July 7, 2007

Apasih Singleton Pattern Itu ?

Filed under: Java

Tulisan ini diambil dari arsip milis netbeans-indonesia@yahoogroups.com
dan ada penambahan url-url yang berkaitan :)

On Mon, 2007-06-18 at 03:41 +0000, Freddy Kresna wrote:

singleton pattern itu apa ya?

Singleton pattern adalah salah satu dari 14 design pattern untuk
programing. Singleton pattern guarantee bahwa object yg di create pasti
cuman 1, tidak multiple instance.
Contoh:


public class SingletonObject {
     private static SingletonObject instance;
	
     // constructor sengaja di hidden supaya tidak bisa di create
     private SingletonObject() {
     }
	
     public static SingletonObject getInstance() {
          if (instance == null) {
              instance = new SingletonObject();
          }
          return instance;
     }
     ...
}

Dari contoh di atas, contructor sengaja di hidden jadi object tsb tidak
bisa di create. contoh:

SingletonObject obj = new SingletonObject(); // pasti error

Jadi untuk mendapatkan instance dari object tsb harus menggunakan public
methodsnya yaitu getInstance() yang hanya mengcreate instance nya 1 kali saja meskipun dipanggil banyak kali, contoh
SingletonObject obj = SingletonObject.getInstance()

Applikasi dari singleton pattern ini banyak, salah satu contohnya bisa
untuk preference / setting / options contoh: Setting dari DB connection,
bisa pake Singleton yang di combine dengan DB Pool, jadi object
connection nya tidak harus di create berulang kali (resources consuming)

Untuk info lebih lanjunt bisa cari di google mengenai Design Pattern
Gang of four, ada kira-kira 14 pattern yg umum di gunakan di programming
mulai dari Singleton, Proxy, Factory dll

Cheers
Tonny Kohar

Citra FX
Photo and Image Enhancements
http://www.kiyut.com

1 Comment »

The URI to TrackBack this entry is: http://pemula.blogsome.com/2007/07/07/apasih-singleton-pattern-itu/trackback/

  1. Cuma mau nambahin.. pemakaian Singleton pattern akan menyulitkan pembuatan unit test nya.. (JUnit dkk)
    Kalau tujuannya untuk di taruh di kontainer (seperti Spring, atau Guice) setahu saya, alternatifnya adalah tetepa dibikin class biasa, tapi ketika didaftarkan ke bean registernya konfigurasinya dipastikan sebagai singleton (lupa detil stepnya)

    Comment by haikal — July 16, 2007 @ 5:19 am

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>


Get free blog up and running in minutes with Blogsome
Theme designed by Gary Rogers