Bagi sebagian orang yang sudah mengenal framework salah satunya adalah seperti cakephp konsep design pattern MVC tidak lah asing tapi tidak menutup kemungkinan juga ada sebagian kalangan programmer yang belum mengenalnya. Maka pada artikel ini saya akan berbagi tentang konsep MVC(Model – View – Controller). Konsep MVC atau biasa disebut MVC, adalah sebuah konsep pengembangan perangkat lunak yang membagi struktur perangkat lunak menjadi tiga buah bagian utama, yaitu model, view, dan controller.
Masing-masing bagian teresebut mempunyai fungsinya masing-masing, berikut adalah penjelasannya:
- Model adalah bagian yang bertugas untuk menangani pengolahan data dan pada umumnya langsung berhubungan dengan database.
- View adalah bagian yang bertugas untuk menangani pengolahan tampilan user. Pada sebuah web bagian ini biasanya berisi kode HTML, javascript, CSS, dll.
- Controller adalah bagian yang bertugas untuk menangani pengolahan request/aksi yang dilakukan oleh user. Secara lebih sederhana controller bisa disebut sebagai jembatan antara bagian model dengan bagian view.
Pembagian ini bertujuan agar perangkat lunak, mudah untuk dikembangkan dan dirawat. Bayangkan sebagai contoh pengembangan sebuah web tanpa konsep ini, misal query ke database bercampur dengan kode-kode clientside seperti HTML, dll hal tersebut tentu saja akan mempersulit pembagian kerja antara web designer dengan web programmer yang pada akhirnya dikhawatirkan keduanya saling melakukan kesalahan seperti web designer yang tanpa sengaja "menyenggol" query mysql, ataupun web programmer yang menyenggol javascript ataupun css, pasti sangat memusingkan.
Sejauh yang saya jumpai, konsep MVC banyak digunakan untuk pengembangan aplikasi yang berbasis web (web based application). Perhatikan gambar berikut ini:
Berikut adalah keterangan gambar di atas:
- Pada awalnya user mengakses sebuah halaman web dengan memberikan request http.
- Controller menerima request tersebut, kemudian memberikan response sesuai alur logis yang telah dibuat.
- Ketika request yang dibuat berhubungan dengan pengelolaan data, maka request tersebut diberikan kepada bagian model yang sesuai.
- Model melakukan proses manipulasi data sesuai dengan request yang dia terima dari controller.
- Hasil manipulasi data yang telah dilakukan oleh model, dikembalikan lagi kepada controller.
- Controller memberikan hasil yang telah dibuat oleh model, kepada bagian view yang bersesuaian.
- View tersebut kemudian memproses hasil tersebut kedalam bentuk tampilan, yang ditampilkan kepada user.
Kesimpulan
MVC itu secara singkat akan membuat proses pengembangan sebuah perangkat lunak menjadi lebih mudah, scalable, dan maintanable.
Terimakasih dan selamat memasukki dunia MVC.


Tidak ada komentar:
Posting Komentar