Kerangka Model-View-Controller (MVC) adalah pola
arsitektur/desain yang memisahkan aplikasi menjadi tiga komponen logika utama
Model, View, dan Controller. Maisng-masing komponen dari arsitektur dibuat
untuk memnbntu aspek saat pembuatan aplikasi atau situs website.
Ini mengisolasi logika bisnis dan lapisan presentasi satu
sama lain. Yang artinya sangat berhubungan dengan konsep UI UX dari desktop.
http://dotnetguru.org/ |
Saat ini, MVC adalah salah satu kerangka kerja pengembangan web standar industri yang paling sering digunakan untuk membuat proyek yang skalabel dan dapat diperluas. Ini juga digunakan untuk merancang aplikasi seluler.
MVC dibuat oleh Trygve Reenskaug. Tujuan utama dari pola
desain ini adalah untuk memecahkan masalah pengguna yang mengontrol kumpulan
data yang besar dan kompleks dengan membagi aplikasi besar menjadi
bagian-bagian tertentu yang semuanya memiliki tujuan masing-masing.
Fitur MVC:
- Memberikan pemisahan yang jelas dari logika bisnis, logika Ul, dan logika input.
- Menawarkan kontrol penuh atas HTML dan URL Anda yang membuatnya mudah untuk merancang arsitektur aplikasi web.
- Sebagai komponen pemetaan URL yang kuat yang digunakan untuk membangun aplikasi yang memiliki URL yang dapat dipahami dan dicari.
- Mendukung Test Driven Development (TDD).
Komponen MVC:
Kerangka kerja MVC mencakup 3 komponen berikut:
- Pengontrol
- Model
- Melihat
Pengontrol:
Kontroler adalah komponen yang memungkinkan interkoneksi
antara tampilan dan model sehingga bertindak sebagai perantara. Pengontrol
tidak perlu khawatir tentang penanganan logika data, ia hanya memberi tahu
model apa yang harus dilakukan. Ini memproses semua logika bisnis dan permintaan
yang masuk, memanipulasi data menggunakan komponen Model dan berinteraksi
dengan View untuk membuat hasil akhir.
Melihat:
Komponen View digunakan untuk semua logika UI aplikasi. Ini
menghasilkan antarmuka pengguna untuk pengguna. Tampilan dibuat oleh data yang
dikumpulkan oleh komponen model tetapi data ini tidak diambil secara langsung
tetapi melalui pengontrol. Itu hanya berinteraksi dengan kompiler.
Model:
Saat digunakan pengguna, logika data yang tersedia akan
mendukung acara kerja Komponen Model sehingga dapat mewakili data yang sedang
ditransfer antara komponen View dan Controller atau data terkait logika bisnis
lainnya. Itu dapat menambah atau mengambil data dari database. Ini menanggapi
permintaan pengontrol karena pengontrol tidak dapat berinteraksi dengan
database dengan sendirinya. Model berinteraksi dengan database dan memberikan
data yang diperlukan kembali ke controller.
Kelebihan MVC:
- Kode mudah dipelihara dan dapat diperpanjang dengan mudah.
- Komponen model MVC dapat diuji secara terpisah.
- Komponen MVC dapat dikembangkan secara bersamaan.
- Ini mengurangi kompleksitas dengan membagi aplikasi menjadi tiga unit. Model, tampilan, dan pengontrol.
- Mendukung Test Driven Development (TDD).
- Bekerja dengan baik untuk aplikasi Web yang didukung oleh tim besar desainer dan pengembang web.
- Arsitektur ini membantu untuk menguji komponen secara independen karena semua kelas dan objek independen satu sama lain
- Ramah dari Search Engine Optimization (SEO).
Kekurangan MVC:
- Sulit untuk membaca, mengubah, menguji, dan menggunakan kembali model ini
- Tidak cocok untuk membangun aplikasi kecil.
- Inefisiensi akses data terlihat.
- Navigasi kerangka kerja dapat menjadi kompleks karena memperkenalkan lapisan abstraksi baru yang mengharuskan pengguna untuk beradaptasi dengan kriteria dekomposisi MVC.
- Peningkatan kompleksitas dan Inefisiensi data
Kerangka MVC Populer:
Beberapa kerangka kerja MVC yang paling populer dan banyak
digunakan tercantum di bawah ini.
- Symphony
- Ruby on Rails
- Rails
- Django
- CherryPy
- Catalyst
- Zend Framework
- Fuel PHP
- Laravel
- Spring MVC
MVC umumnya digunakan pada aplikasi yang berjalan pada satu workstation grafis. Pembagian komponen logis memungkinkan keterbacaan dan modularitas serta membuat lebih nyaman untuk bagian pengujian.