Apa itu Model View Controller (MVC)?

MVC umumnya digunakan pada aplikasi yang berjalan pada satu workstation grafis. Pembagian komponen logis memungkinkan keterbacaan dan modularitas.

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.

Posting Komentar

© Web Hosting Info. All rights reserved. Premium By Raushan Design