Home > OO Programming > Adaptive Programming

Adaptive Programming

Adaptive programming bertujuan untuk membuat koneksi antar object menjadi tidak erat (loosely couple) atau structure-shy. Artinya kita membuat object tersebut semalu mungkin. hehehe. malu gimana maksudnya ?? jadi dia tidak mengexpose isi di dalamnya atau structure object tersebut.

Mmm… sebelum itu ada baiknya kita jelaskan apa sih maksud keterikatan atau ketegantungan satu object ke object lain. Perhatikan code berikut..

    public class Account
    {
        private Period m_period;
        private Currency m_currency;
        private Money m_balance;
        List<AccountEntry> lstAccountEntry;
        public Account()
        {
        }
        .....
    }


Nah dari code diatas kita bisa mengambil kesimpulan bahwa Kelas Account memiliki instance variable dengan type Money, Currency, Period, Entry. Berarti Account depend on (tergantung or terikat) kepada keempat kelas tersebut. Nah trus emang kenapa ? Coba pikirkan jika salah satu kelas diatas diubah maka kemungkinan besar code yg ada di Account akan terpengaruh. Tapi memang suatu object tidak mungkin berdiri sendiri tanpa tergantung ke object lain. Tetapi ketergantungan tersebut harus diminimalisir dan hanya untuk yg memang seharusnya. Jangan sampai membuat dependency yg tidak perlu.

Nah sekarang kita akan melihat code period seperti apa.

    public class Period
    {
        DateRange m_dateRange;
        Year m_year;     
        PeriodStatus m_status;
        .....
    }

Misalkan kita ingin mengetahui range dari period tersebut dari account bagaimana caranya ?? kita akan melakukan hal seperti ini.

public class Account 
{
     private void assertIsInValidPeriod(AccountEntry accEntry) 
     {
           // Range adalah property dengan tipe DateRange
           // Start adalah property dari DateRange dengan tipe DateTime
           DateTime startPeriod = m_period.Range.Start;
           DateTime endPeriod = m_period.Range.End;
           // lakukan pengecekan terhadap tanggal dari entry
           
     } 
}

nah sekarang dependency menjadi bertambah. Terhadap DateRange dan DateTime. Semakin banyak kita menekan dot dot dot dan mengakses instance variable dari kelas lain. Semakin banyak kita tahu mengenai object tersebut. Kita akan semakin terikat terhadap kelas tersebut. Karena kita mengetahui strukturnya.

Nah untuk mengatasi hal2 dependecy tersebut lahirlah Law of Demeter. Apa itu … mari kita lihat di postingan berikutnya .. hahahaha

  1. thegands
    February 5, 2009 at 9:16 am

    pelan2 posting bro… santai aje…..

  2. weltam
    February 5, 2009 at 9:17 am

    mumpung lagi semangat bro …
    hahahaha
    jadi ntar klo lama ga mosting masih banyak yg bisa dibaca2
    wkwkwkw

  3. weltam
    February 5, 2009 at 9:23 am

    rencananya entar gand mw di bikin jadi step by step
    jadi ada chapter2nya
    supaya membantu orang yg mw belajar dari awal
    jadi untuk skarang ini ya agak brantakan dulu.
    ntar disusun bertingkat.

    karena buku bahasa indonesia ttg software development ga banyak. palingan yg rumus2 cepat. 10 hari belajar java dan lain2.

    dan bukan rahasia umum lagi gand .. klo orang agak malas klo baca bahasa inggris. jadi salah satu penghambat IT di indonesia itu ya itu. bahasa.

    nah makanya aku post pake bahasa indonesia. klo nulisnya di inggris lagi. sama aja boong. kita gilakkan software development di indonesia ini gand. mumpung masih muda

    hahahahahah

  4. February 6, 2009 at 3:29 am

    object malu-malu vs object malu-maluin (object narsis).

  5. weltam
    February 6, 2009 at 3:46 am

    object malu-malu tu artinya full encapsulation

    object malu-maluin itu ga tw malu .. alias ngexpose semua dirinya keluar .. sombong .. hehehe .. alias ga pake setter getter .. langsung public semua hehehe

  6. thegands
    February 6, 2009 at 7:07 am

    hahaha…oke wel, mantap lah… aku udah hidup dan mendunia di dunia Rich Internet Application. Tapi untuk yang OOP beginian juga oke juga koq. Tapi sebelum berlangsung terlalu jauh, gimana kita berdua membuat sebuah website yang khusus membahas seperti ini bro? terus untuk langkah awal, kita berdua dulu penulisnya, terus kita invite siapa2 aja yang mau bergabung. Gimana? Ntar kita bikin halaman donasi, bagi siapa saja mau memberi donasi, biar website kita eksis, yah, soalnya kita kan bayar hosting juga toh? terus ntar, kita buat buku yuukk.. lumayan menambah keuangan kita. Ingat suatu hal yang penting dan penting kali bro, programmer juga butuh makan. hahahahahaha… programmer juga punya pacar, programmer juga butuh ke mall.. hahahahaha… bener gak bro? gimana dengan usulku?

  1. No trackbacks yet.

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

%d bloggers like this: