Archive for March 20th, 2007
Singleton vs static
Kedua jenis class ini sangat mirip dalam penggunaannya, dengan perbedaan jika class singleton, dalam satu sesi aplikasi, hanya ada satu object yang diinstantiate, sedangkan static class ( class yang hanya terdiri dari static method ) tidak pernah ada instance yang dibuat, sesuai dengan sifat method-nya. Satu lagi, karena static class tidak pernah di instantiate, maka static class tidak dapat menyimpan state, atau bisa saja dengan menggunakan variabel static. Hmm.. jadi tidak bisa dibilang berbeda dong haha.. Tapi kalau tidak salah variabel tersebut tidak bisa diakses karena class tidak di instantiate, yang berarti variabel tersebut tidak pernah ada.
Hanya saja karena kemiripan penggunaan, yaitu kebutuhan akan instance yang hanya satu (atau tidak ada instance sama sekali) pada satu sesi aplikasi, maka kadangkala bingung juga mana yang harus dipakai.
Setelah luntang lantung ke beberapa situs ( lewat google hehe ) ternyata ada satu hal yang harus digunakan dalam mempertimbangkan metode yang dipakai. Yaitu perbedaan siat keduanya, penyimpanan state, dan satu lagi polymorphism.
Jika state class diperlukan dalam aplikasi, atau jika pada satu saat nanti class akan di extend, singleton lebih layak dipakai. Jika method hanya digunakan untuk memproses data, tapi penyimpanan data dalam class, pakai static method.
There you go!
( biar gak lupa hehe )
Tags: Java, Programming, Singleton, Static
