MVC ArchiKuliah dan Kerangka Kerja dengan Contoh

โšก Ringkasan Cerdas

Model-View-Controller (MVC) adalah pola arsitektur yang memisahkan aplikasi menjadi tiga komponenโ€”Model, View, dan Controllerโ€”mengisolasi logika bisnis dari lapisan presentasi untuk membangun aplikasi web dan desktop yang mudah dipelihara dan diuji menggunakan framework seperti Spring, Django, dan Laravel.

  • ๐Ÿงฑ Tiga Komponen: MVC membagi aplikasi menjadi Model (data), View (presentasi), dan Controller (interaksi pengguna).
  • ๏ธ Model: Menyimpan data dan logika bisnis, menanggapi permintaan dari View dan instruksi dari Controller.
  • ๏ธ Melihat: Menyajikan data kepada pengguna melalui elemen UI seperti kotak teks, menu tarik-turun, grafik, dan tabel.
  • ๐ŸŽฎ Controller: Menganalisis input pengguna, kemudian memperbarui Model dan View sesuai dengan input tersebut.
  • โš™๏ธ Kerangka Kerja Populer: Spring MVC, Django, Ruby on Rails, CakePHP, Laravel, dan CodeIgniter mengimplementasikan pola MVC.
  • ๏ธ Keuntungan vs Kerugian: MVC meningkatkan kemampuan pengujian dan pengembangan paralel tetapi menambahkan abstraclapisan koordinasi dan kompleksitas navigasi.

MVC Archikuliah dan Kerangka kerja

Apa itu Kerangka MVC?

The 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
  • Akhir-akhir 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 mendesain arsitektur aplikasi web menggunakan pola MVC, Anda mendapatkan kendali penuh atas HTML dan juga URLs
  • 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.
  • URL Pengarahan untuk SEO yang Ramah URLs. Kuat URL-petaping agar mudah dipahami dan dicari. URLs
  • Dukungan untuk Pengembangan Berbasis Tes (TDD)

MVC Architekstur

Setelah manfaatnya jelas, berikut adalah arsitektur detail dari 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 masing-masing komponen ini secara detail:

Liha

Tampilan adalah bagian aplikasi yang mewakili penyajian data.

View dibuat dari data yang dikumpulkan dari data model. Sebuah view meminta informasi dari model agar dapat menampilkan presentasi output 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

Controller adalah bagian dari aplikasi yang menangani interaksi pengguna. Controller menerjemahkan input mouse dan keyboard dari pengguna, memberi tahu model dan view untuk berubah sesuai kebutuhan.

Controller mengirimkan perintah ke model untuk memperbarui statusnya (misalnya, menyimpan dokumen tertentu). Controller juga mengirimkan perintah ke view yang terkait untuk mengubah tampilan view (misalnya, menggulir dokumen tertentu).

Pilih 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 view dan juga merespons instruksi dari controller untuk memperbarui dirinya sendiri. Ini juga merupakan level terendah dari pola tersebut 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, roda kemudi, 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.
  • Menyediakan pemisahan tanggung jawab (SoC) yang jelas.
  • 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.ping dari tindakan terkait pada sebuah controller 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.tracyang mengharuskan pengguna untuk 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.

Pertanyaan Umum Demo Slot

MVC adalah pola arsitektur, bukan sekadar pola desain. MVC mengatur seluruh aplikasi ke dalam lapisan Model, View, dan Controller, memisahkan data, presentasi, dan logika interaksi pengguna.

MVC menggunakan Controller untuk menangani input dan memperbarui Model dan View, sedangkan MVVM menggunakan ViewModel dengan data binding. MVVM mengurangi kode berulang (boilerplate) dan umum digunakan dalam framework UI modern.

Gunakan MVC saat membangun aplikasi yang membutuhkan pemisahan data, UI, dan logika yang jelas, terutama aplikasi web yang dikelola oleh tim yang lebih besar. Ini meningkatkan kemampuan pengujian, pengembangan paralel, dan perutean yang ramah SEO.

Fitur AI biasanya ditambahkan pada lapisan Model atau layanan dalam aplikasi MVC. Controller meneruskan input pengguna ke model AI, dan View menampilkan prediksi, rekomendasi, atau konten yang dihasilkan kepada pengguna.

Ya. Asisten pengkodean AI dapat membuat kerangka komponen MVC, menghasilkan pengontrol, model, dan tampilan, serta menyarankan perutean. Pengembang tetap meninjau hasilnya untuk memastikan logika bisnis dan keamanan yang benar.

Ringkaslah postingan ini dengan: