On Aspect Orientation

Masih berhubungan dengan gundukan ide di tulisan yang ini, kemarin seharian di rumah saya sempat membaca buku tentang AOP (Aspect Oriented Programming). Dari buku yang saya baca, dijelaskan bahwa kunci AOP terletak pada dua hal :

  • introduction, yaitu menyisipkan properti baru ke dalam suatu modul/kelas/dst.
  • advice, yaitu menyisipkan method ke dalam suatu modul/kelas pada daerah yang telah disepakati.

Persoalan utama yang saya pahami adalah mengenai Cross-cutting concern yang merupakan faktor yang signifikan dalam rangka memuluskan evolusi perangkat lunak. Pada dasarnya AOP dapat diimplementasi ke paradigma yang ada saat ini (OOP atau prosedural) dengan mengimplementasi pola pikir seperti di atas (advice dan introduction).

Saya baru sadar kalau DMR dikembangkan dengan cara ini (at some extent) sehingga penambahan fitur baru atau perbaikan bug tidak mengganggu kestabilan sistem yang sudah berjalan. Hal ini selain memudahkan dalam pengelolaan pertumbuhan perangkat lunak, juga bisa menjaga kerahasiaan kode utama. Seharusnya pekerjaan pengembangan perangkat lunak secara kolaboratif (open-source misalnya) menggunakan cara ini juga yah? supaya waktu yang lama ketika kickoff bisa dikurangi.

Kalau dipikir-pikir, AOP sepertinya cukup memenuhi kriteria untuk ide bahasa pemrograman yang sedang saya kerjakan. hanya saja, untuk saat ini AOP masih membawa dosa bahasa pemrograman umum karena AOP diterapkan di atas bahasa yang ada sekarang sehingga bukannya mempermudah (bagi semua orang), AOP malah membingungkan (bagi yang baru mulai mempelajari OOP misalnya), walaupun bagi orang-orang yang sudah terkena racunnya OOP, AOP jadi tampak seperti obat. Jadi untuk saat ini, saya akan men-comot ide dari AOP.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s