Saya ingin mencapai 70 Kg

Kebanyakan aplikasi web memakai database. Untuk apa? Menyimpan status-status dan menyediakan titik akses yang global.

Selain database, (jika kita tidak mau install database) adalah XML. Yaitu file-file yang menyimpan status-status yang direpresentasikan melalui struktur XML. Nah, kalau misalnya pake XML agak ribet menurut gw. Lo perlu menentukan struktur kek gimana yang sesuai untuk merepresentasikan status (misalnya) object yang lo bikin. Udah gitu,, mesti ada proses parsingnya lagi.

Sebagai alternatif, beberapa bulan yang lalu gw ketemu sebuah pattern yang lebih asik lagi. Jadi begini… kita bikin beberapa object yang hidup terus selamanya, dan bisa diakses terus-terusan. So statusnya juga gak perlu disimpan/restore..

Kenapa lebih baik? Karena langsung simpan/akses ke memory. Sangat OOP!

Secara teknis, lo membuat sebuah kelas, dimana didalam kelas tersebut terdapat static properties yang tipe datanya adalah Kelas itu sendiri.

Misalnya, gw mau buat sebuah kelas namanya SingletonObject dengan C#. jadinya kayak begini:

public class SingletonObject

{

private static SingletonObject instance;


public SingletonObject(){ }


public static SingletonObject Instance

{


get{


lock (syncLock)

{


if (instance == null)

{

instance = new
SingletonObject ();

}

}


return instance;

}

}

}

Contoh kodingan yang lain lihat http://en.wikipedia.org/wiki/Singleton_pattern

Sekarang lo udah punya object yang nyala terus,

Object ini akan dibuat dan bisa diakses ketika lo manggil properti SingletonObject.Instance.

Nah, kodingan selanjutnya terserah anda. so.. kalau aplikasi web yang sederhana gak punya database, plisss pake singleton aja biar cepett.

Advertisements

Comments on: "Andra mau ngenalin Singleton" (3)

  1. Well.. correct. Dengan singleton object akan hidup terus sampai explicitly kita destroy. Anyway, kalau memakai singleton di web apps perlu consider beberapa hal,
    Pertama, pemakaian memory yang akan membengkak apabila data yang di tampung di object singleton tsb sudah banyak. Kedua, kalau web servernya di reset / restart maka almarhum juga itu object dan data-data di dalamnya

  2. anwarchandra said:

    @Dondy
    Kalau begitu, pemakaian struktur data harus diperhatikan dan meminimalkan duplikasi data. Bila perlu, data berupa teks dikompresi agar ukurannya menyusut.

    Aplikasi yang memakai singleton sangat bergantung dengan stabilitas web server. oleh sebab itu, tidak cocok untuk jenis aplikasi yang perlu menyimpan informasi sangat lama. kalau untuk sejenis casual game bolehlah..

    Terima kasih atas komentarnya.

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

Tag Cloud

%d bloggers like this: