Sebuah Hipotesa::Reflection Sebagai Penjahat Perang Pelanggar OO

Reflection merupakan teknik "cheating" di teknologi .NET untuk mengambil suatu address memory dari suatu object kemudian kita mengontrol object tsb. Akibat dari features ini maka timbul suatu hipotesa bahwa Reflection merupakan salah satu Bad Smell. Kenapa? Jawabannya singkat dan logis adalah bahwa reflection dapat merusak sendi-sendi kaedah dari OO. Contoh terkecil sbb: Jika ada suatu variabel yg private maka menurut kaedah OO maka variabel tsb tidak bisa diakses oleh object lain tetapi kenyataannya dengan reflection kita dapat melakukannya..

So dengan demikian hipotesaku Reflection merupakan penjahat perang pelanggar OO. Any Comment ?

Share this post: | | | |
Published Wednesday, July 27, 2005 1:41 AM by Agus Kurniawan

Comments

# re: Sebuah Hipotesa::Reflection Sebagai Penjahat Perang Pelanggar OO

Wednesday, July 27, 2005 2:40 AM by Agus Kurniawan
Iya nih. Reflection can be useful, tp juga dia "break rules" :)

Misal, kita punya assembly A yg refer ke Assembly X. Di Assembly X ini, dgn Reflection, kita bisa create Instance suatu class di assembly A! Breaking the rules of circular referencing.

Hal ini kan dilarang. Bahkan circular referencing menyebabkan code tidak bisa di compile. Tetapi, Reflection membuatnya mungkin... Ini mungkin menolong, tp ini juga jahat sekali...

I don't know, sometimes breaking the rules is the way? He..he.. Kayaknya perlu direfleksikan ke diri kita masing2 :)

# re: Sebuah Hipotesa::Reflection Sebagai Penjahat Perang Pelanggar OO

Wednesday, July 27, 2005 7:12 AM by Agus Kurniawan
Kan bisa pake atribut
[ReflectionPermissionAttribute(SecurityAction.Deny, TypeInformation = true)]

Memang sih rada janggal, tapi reflection dibutuhkan buat Tool Builder. Misal buat addin kayak UMLClassGen nya aku, dia butuh info private members buat bikin tanda "-" yg menandakan private. tanpa reflection kayaknya gak mungkin.

So, bisa dilihat begini: code program seharusnya tidak bisa terlihat agar tidak bisa di-hack, tapi nyatanya di .Net kita bisa lihat source code dgn Reflector. Lantas, apakah Reflector defeat the purpose of writing codes that shouldn't be seen?

Jawabannya bisa diaplikasikan ke Reflection dan OOP tadi =)

# re: Sebuah Hipotesa::Reflection Sebagai Penjahat Perang Pelanggar OO

Wednesday, July 27, 2005 8:54 PM by Agus Kurniawan
Susah dibayangkan debugger tools tanpa reflection, atau plugin komponen. Isu ini udah lama muncul di Java, sampai sekarang masih dipertahankan. It's just another tools if u know how to use it, katanya ...

# re: Sebuah Hipotesa::Reflection Sebagai Penjahat Perang Pelanggar OO

Thursday, July 28, 2005 11:18 PM by Agus Kurniawan
test gus! aku ora iso submit

Leave a Comment

(required) 
(required) 
(optional)
(required) 

Enter the numbers above:
Powered by Community Server (Commercial Edition), by Telligent Systems