MVC (Model view
controller) adalah sebuah kongsep yang diperkenalkan oleh penemu Smalltalk untuk
meng-enkapsulasi data bersama dengan
pemrosesan (model), mengisolasi dari
proses manipulasi (controller) dan tampilan (view) untuk dipresentasikan pada user interface.
MVC mengikuti pendekatan yang paling umum dari Layering.
Layering hanyalah sebuah logika
yang membagi kode kita ke dalam fungsi di kelas yang berbeda. Pendekatan ini
mudah dikenal dan yang paling banyak diterima. Keuntungan utama dalam pendekatan
ini adalah penggunaan ulang (reusability) kode (Satish, 2004).
- Model, digunakan untuk mengelola informasi dan memberitahu pengamat ketika ada perubahan informasi. Hanya model yang mengandung data dan fungsi yang berhubungan dengan pemrosesan data. Sebuah model meringkas lebih dari sekedar data dan fungsi yang beroperasi di dalamnya. Pendekatan model yang digunakan untuk komputer model atau abstraksi dari beberapa proses dunia nyata. Hal ini tidak hanya menangkap keadaan proses atau sistem, tetapi bagaimana sistem bekerja. Sebagai contoh, programmer dapat menentukan model yang menjembatani komputasi back-end dengan front-end GUI (graphical user interface).
- View, bertanggung jawab untuk pemetaan grafis ke sebuah perangkat. View biasanya memiliki hubungan 1-1 dengan sebuah permukaan layar dan tahu bagaimana untuk membuatnya. View melekat pada model dan me-render isinya ke permukaan layar. Selain itu, ketika model berubah, view secara otomatis menggambar ulang bagian layar yang terkena perubahan untuk menunjukkan perubahan tersebut. Terdapat kemungkinan beberapa view pada model yang sama dan masing-masing view tersebut dapat merender isi model untuk permukaan tampilan yang berbeda.
- Controller, menerima input dari pengguna dan menginstruksikan model dan view untuk melakukan aksi berdasarkan masukan tersebut. Sehingga, controller bertanggung jawab untuk pemetaan aksi pengguna akhir terhadap respon aplikasi. Sebagai contoh, ketika pengguna mengklik tombol atau memilih item menu, controller bertanggung jawab untuk menentukan bagaimana aplikasi seharusnya merespon.
Arsitektur MVC memiliki manfaat yaitu pemisahan antara model
dan view memungkinkan beberapa view menggunakan model yang
sama. Akibatnya, komponen model sebuah aplikasi lebih mudah untuk
diterapkan, diuji, dan dipelihara, karena semua akses ke model berjalan
melalui komponen ini (Balani, 2002)
No comments:
Post a Comment