Tutorial Framework MVC untuk Pemula: Apa itu, Architekstur & Contoh

Apa itu Kerangka MVC?

Pengontrol Tampilan Model (MVC) framework adalah pola arsitektur yang memisahkan aplikasi menjadi tiga komponen logis utama, yaitu Model, View, dan Controller. Oleh karena itu, singkatannya adalah MVC. Setiap komponen arsitektur dibangun untuk menangani aspek pengembangan tertentu dari suatu aplikasi. MVC memisahkan logika bisnis dan lapisan presentasi satu sama lain. Secara tradisional, MVC digunakan untuk antarmuka pengguna grafis (GUI) desktop. Saat ini, arsitektur MVC dalam teknologi web telah menjadi populer untuk mendesain aplikasi web maupun aplikasi seluler.

Sejarah MVC

  • Arsitektur MVC pertama kali dibahas pada tahun 1979 oleh Trygve Reenskaug
  • Model MVC pertama kali diperkenalkan pada tahun 1987 dalam bahasa pemrograman Smalltalk.
  • MVC pertama kali diterima sebagai konsep umum, pada artikel tahun 1988
  • Saat ini, pola MVC banyak digunakan dalam aplikasi web modern

Fitur MVC

  • Kemampuan pengujian yang mudah dan tanpa gesekan. Kerangka kerja yang sangat dapat diuji, diperluas, dan dapat dipasang
  • Untuk merancang arsitektur aplikasi web menggunakan pola MVC, ia menawarkan kontrol penuh atas HTML Anda serta URL Anda
  • Manfaatkan fitur yang ada yang disediakan oleh ASP.NET, JSP, Django, dll.
  • Pemisahan logika yang jelas: Model, View, Controller. Pemisahan tugas aplikasi yaitu logika bisnis, logika Ul, dan logika input.
  • Perutean URL untuk URL Ramah SEO. Pemetaan URL yang kuat untuk URL yang mudah dipahami dan dicari
  • Dukungan untuk Pengembangan Berbasis Tes (TDD)

MVC Architekstur

Berikut adalah arsitektur rinci kerangka kerja MVC:

MVC Architekstur
MVC Archidiagram tekstur

Tiga komponen MVC yang penting adalah:

  • Model: Ini mencakup semua data dan logika terkaitnya
  • Tampilan: Menyajikan data kepada pengguna atau menangani interaksi pengguna
  • Pengontrol: Antarmuka antara komponen Model dan Tampilan

Mari kita lihat komponen ini secara detail:

Liha

Tampilan adalah bagian aplikasi yang mewakili penyajian data.

Tampilan dibuat oleh data yang dikumpulkan dari data model. Tampilan meminta model untuk memberikan informasi sehingga menampilkan presentasi keluaran kepada pengguna.

Tampilan ini juga menyajikan data dari bagan, diagram, dan tabel. Misalnya, tampilan pelanggan apa pun akan menyertakan semua komponen UI seperti kotak teks, menu drop down, dll.

pengawas

Pengontrol adalah bagian dari aplikasi yang menangani interaksi pengguna. Pengontrol menafsirkan input mouse dan keyboard dari pengguna, menginformasikan model dan tampilan untuk diubah sesuai kebutuhan.

Pengontrol mengirimkan perintah ke model untuk memperbarui statusnya (Misalnya, Menyimpan dokumen tertentu). Pengontrol juga mengirimkan perintah ke tampilan terkait untuk mengubah presentasi tampilan (Misalnya menggulir dokumen tertentu).

Model

Komponen model menyimpan data dan logika terkaitnya. Ini mewakili data yang ditransfer antar komponen pengontrol atau logika bisnis terkait lainnya. Misalnya, objek Controller akan mengambil informasi pelanggan dari database. Itu memanipulasi data dan mengirim kembali ke database atau menggunakannya untuk merender data yang sama.

Ia merespons permintaan dari tampilan dan juga merespons instruksi dari pengontrol untuk memperbarui dirinya sendiri. Ini juga merupakan level terendah dari pola yang bertanggung jawab untuk memelihara data.

Contoh MVC

Mari kita lihat contoh Model View Controller dari kehidupan sehari-hari:

Contoh 1

Contoh MVC

  • Misalkan Anda pergi ke restoran. Anda tidak akan pergi ke dapur dan menyiapkan makanan yang pasti bisa Anda lakukan di rumah. Sebaliknya, Anda pergi ke sana dan menunggu pelayan datang.
  • Sekarang pelayan mendatangi Anda, dan Anda memesan makanan. Pelayan tidak tahu siapa Anda dan apa yang Anda inginkan, dia hanya menuliskan detail pesanan makanan Anda.
  • Kemudian, pelayan pindah ke dapur. Di dapur, pelayan tidak menyiapkan makanan Anda.
  • Si juru masak menyiapkan makanan Anda. Pelayan akan memberikan pesanan Anda beserta nomor meja Anda.
  • Masak lalu siapkan makanan untuk Anda. Dia menggunakan bahan-bahan untuk memasak makanan. Anggaplah Anda memesan sandwich sayuran. Kemudian dia membutuhkan roti, tomat, kentang, capsicum, bawang bombay, bit, keju, dll yang dia dapatkan dari lemari es
  • Masak terakhir menyerahkan makanan kepada pelayan. Sekarang tugas pelayan adalah memindahkan makanan tersebut ke luar dapur.
  • Sekarang pelayan tahu makanan apa yang Anda pesan dan bagaimana cara menyajikannya.

Dalam contoh arsitektur MVC ini,

View= You
Waiter= Controller
Cook= Model
Refrigerator= Data

Mari kita lihat satu lagi contoh model MVC,

Contoh 2

Contoh MVC

Mekanisme penggerak mobil adalah contoh lain dari model MVC.

  • Setiap mobil terdiri dari tiga bagian utama.
  • Tampilan= Antarmuka pengguna : (Tuas persneling, panel, setir, rem, dll.)
  • Pengendali- Mekanisme (Mesin)
  • Model- Penyimpanan (Tangki Bensin atau Diesel)

Mobil dijalankan dari mesin mengambil bahan bakar dari penyimpanan, tetapi berjalan hanya menggunakan perangkat antarmuka pengguna yang disebutkan.

Kerangka kerja web MVC populer

Berikut adalah daftar beberapa framework MVC yang populer:

Keuntungan MVC: Manfaat Utama

Berikut ini adalah manfaat utama penggunaan arsitektur MVC:

  • Pemeliharaan kode mudah yang mudah diperluas dan dikembangkan
  • Komponen Model MVC dapat diuji secara terpisah dari pengguna
  • Dukungan yang lebih mudah untuk jenis klien baru
  • Pengembangan berbagai komponen tersebut dapat dilakukan secara paralel.
  • Ini membantu Anda menghindari kerumitan dengan membagi aplikasi menjadi tiga unit. Model, tampilan, dan pengontrol
  • Ini hanya menggunakan pola Front Controller yang memproses permintaan aplikasi web melalui satu pengontrol.
  • Menawarkan dukungan terbaik untuk pengembangan berbasis tes
  • Ini berfungsi dengan baik untuk aplikasi Web yang didukung oleh tim besar desainer dan pengembang web.
  • Memberikan pemisahan kekhawatiran (SoC) yang bersih.
  • Ramah Pengoptimalan Mesin Pencari (SEO).
  • Semua kelas dan objek tidak bergantung satu sama lain sehingga Anda dapat mengujinya secara terpisah.
  • Pola desain MVC memungkinkan pengelompokan logis dari tindakan terkait pada pengontrol secara bersamaan.

Kekurangan menggunakan MVC

  • Sulit untuk membaca, mengubah, menguji unit, dan menggunakan kembali model ini
  • Navigasi kerangka kerja terkadang bisa rumit karena memperkenalkan lapisan abstraksi baru yang mengharuskan pengguna beradaptasi dengan kriteria dekomposisi MVC.
  • Tidak ada dukungan validasi formal
  • Meningkatnya kompleksitas dan inefisiensi data
  • Kesulitan menggunakan MVC dengan antarmuka pengguna modern
  • Ada kebutuhan untuk banyak pemrogram untuk melakukan pemrograman paralel.
  • Pengetahuan tentang berbagai teknologi diperlukan.
  • Pemeliharaan banyak kode di Controller

3 tingkat Architekstur vs. MVC Architekstur

Parameter 3-Tingkat Architekstur MVC Architekstur
Komunikasi Pola arsitektur jenis ini tidak pernah berkomunikasi langsung dengan lapisan data. Semua lapisan berkomunikasi secara langsung menggunakan topologi segitiga.
penggunaan 3-tier: banyak digunakan dalam aplikasi web di mana klien, tingkatan data, dan middleware dijalankan pada platform yang terpisah secara fisik. Umumnya digunakan pada aplikasi yang berjalan pada satu workstation grafis.

Kesimpulan

  • MVC adalah pola arsitektur yang memisahkan aplikasi menjadi 1) Model, 2) View dan 3) Controller.
  • Model: Ini mencakup semua data dan logika terkaitnya
  • Tampilan: Menyajikan data kepada pengguna atau menangani interaksi pengguna
  • Pengontrol: Antarmuka antara komponen Model dan Tampilan
  • Arsitektur MVC pertama kali dibahas pada tahun 1979 oleh Trygve Reenskaug
  • Arsitektur MVC di Java adalah kerangka kerja yang sangat dapat diuji, diperluas, dan dapat dipasang
  • Beberapa framework MVC yang populer adalah Rails, Zend Framework, CodeIgniter, Laravel, Fuel PHP, dll.