MVC adalah sebuah pola pemrograman yang bertujuan memisahkan logika bisnis, logika data dan logika tampilan (interface), atau secara sederhana memisahkan antara proses, data dan tampilan. MVC mengatur arsitektur sebuah aplikasi. Umumnya aplikasi yang dibangun dengan konsep MVC adalah aplikasi yang cukup besar, karena salah satu keuntungan dari MVC itu adalah kemudahan maintenance, dan pembembangan aplikasi tersebut.
- View adalah komponen dari MVC yang bertugas menampilkan apa saja yang harus ditampilkan ke pengunjung website. Isinya dapat berupa form, table, gambar, animasi ataupun lainnya yang boleh dilihat oleh user (pengunjung). Jadi, view mengatur bagaimana suatu data yang diperoleh dari controller ditampilkan untuk user. View mencakup semua proses yang terkait layout output. Tempat menaruh template interface website atau aplikasi. View merupakan informasi yang ditampilkan kepada pengunjung dari website.
- Model adalah komponen MVC yang bertugas mengambil data dari database dan juga memasukkan data ke database. Isi utamanya berupa perintal SQL. Hasilnya dikirimkan ke Controller.
- Controller adalah komponen MVC yang bertugas mengirim perintah ke model untuk mendapatkan data yang diinginkan. Controller tidak mengetahui bagaimana data tersebut diambil dari database, karena controller tidak berisi kode perintah SQL. Karena itu adalah tugas model. Controller mengolah data dari inputan user dan data dari modal kemudian data olahan tersebut dikirimkan ke view untuk ditampilkan sesuai aturan controller. Controller merupakan penghubung antara model dan view dan mengatur hubungan tersebut.