Laman web adalah lebih daripada apa yang kelihatan di luar. Malah, corak struktur laman web berbeza-beza seperti laman web itu sendiri. Sebuah laman web adalah kompleks kompleks komponen yang berinteraksi antara satu sama lain untuk menjalankan aplikasi. Ambil contoh Facebook, yang merupakan salah satu laman web yang paling kompleks yang kami gunakan hampir setiap hari. Pergi ke halaman asalnya dan anda akan melihat laman web ini menangani hampir selusin permintaan data pada satu masa untuk mengisi halaman dengan pelbagai komponen. Orang dapat dengan mudah membayangkan bahawa logik di belakang bagaimana komponen berinteraksi antara satu sama lain untuk menjalankan program seperti Facebook boleh sangat berbeza dari laman web lain. Fungsian teras laman web mana-mana didefinisikan dengan kemudahan yang mana ujung depan berinteraksi dengan model yang sesuai untuk mendapatkan data yang ditonton oleh penonton. MVC dan MVVM adalah dua corak reka bentuk popular di dunia pembangunan perisian.
MVC, pendek untuk Model-View-Controller, adalah model reka bentuk aplikasi yang biasa digunakan untuk membangunkan antara muka pengguna moden. Corak MVC adalah di tengah-tengah pembangunan perisian berorientasikan objek moden kerana ia muncul dari komuniti reka bentuk berorientasikan objek. Ia pada asalnya dinamakan Thing-Model-View-Editor pada tahun 1979, tetapi kemudiannya disederhanakan dan dinamakan semula sebagai Model-View-Controller. Ia digunakan terutamanya untuk reka bentuk dan pembangunan aplikasi mudah alih dan web. Ia membahagikan antara muka pengguna aplikasi kepada tiga bahagian yang berbeza: Model, Lihat dan Pengawal.
Model: Model mewakili satu set kelas yang menggambarkan data yang anda sedang perancangan untuk digunakan dalam aplikasi. Ia menerangkan format biasa untuk data tetapi juga mungkin mengandungi peraturan perniagaan, penukaran, logik pengesahan, dan pelbagai fungsi lain.
Lihat: The View mewakili data yang akan dipaparkan dari model. Ia mendefinisikan bagaimana antara muka pengguna aplikasi akan dipaparkan. Model boleh mempunyai beberapa pandangan bergantung kepada aplikasi. Model pandangan, dalam istilah reka bentuk, pada asasnya menggambarkan komponen UI seperti HTML, jQuery, dan sebagainya.
Pengawal: Pengawal adalah sekeping utama aplikasi MVC yang mengendalikan komunikasi dari pengguna dalam bentuk peristiwa, aliran aplikasi keseluruhan dan logik khusus aplikasi. Acara-acara itu kemudian ditukarkan kepada permintaan perkhidmatan dan dihantar kepada model atau pandangan. Ia adalah satu-satunya komponen yang pengguna berinteraksi dengan sistem.
Model-View-ViewModel, atau MVVM, adalah corak seni bina perisian popular yang biasa digunakan untuk membangunkan aplikasi web yang boleh digunakan semula dan mudah diuji. MVVM didasarkan pada corak MVC tetapi bertambah baik pada model MVC dengan memperkenalkan kelas baru yang dikenali sebagai ViewModel, yang menguruskan data yang khusus kepada pandangan. Objektif utama model MVVM adalah untuk memisahkan benar antara komponen Model dan Paparan. Komponen utama model adalah: Model, View and ViewModel.
Model: Prinsipnya tetap sama seperti dalam model MVC. Model mewakili logik dan data perniagaan dan menentukan bagaimana data harus dimanipulasi.
Lihat: Model View mewakili data yang akan dipaparkan tetapi tidak melakukan manipulasi pada data. View adalah sama seperti dalam MVC, kecuali pengikatan data mesti ditetapkan untuk pandangan, yang dilakukan dengan menambahkan ViewModel ke paparan.
ViewModel: Ia adalah komponen paling penting dalam model ini kerana ia direka bentuk untuk menggunakan fungsi mengikat data, yang pada hakikatnya, membantu untuk memisahkan pandangan dari model, dan pada masa yang sama bertindak sebagai pengawal untuk memudahkan komunikasi antara komponen Lihat dan Model.
- Model-View-Controller (MVC) adalah model reka bentuk aplikasi yang biasa digunakan untuk membangunkan antara muka pengguna moden. Ia membahagikan antara muka pengguna aplikasi kepada tiga bahagian yang berbeza: Model, Lihat dan Pengawal. Model-View-ViewModel (MVVM), sebaliknya, adalah varian moden model MVC yang biasa digunakan untuk membangunkan aplikasi web yang boleh digunakan semula dan mudah diuji. Komponen utama model MVVM ialah Model, View, dan ViewModel.
- Ciri utama yang membezakan MVVM dari corak reka bentuk perisian lain adalah pengikatan data, yang merupakan mekanisme yang menghubungkan antara muka pengguna dengan logika perniagaan. Ia adalah teknologi utama yang menghubungkan Pandangan dengan ViewModels mereka yang memastikan model dan sifatnya selari dengan pandangan dalam ViewModel. Ia menghapuskan keperluan untuk mendedahkan keseluruhan Model kepada Paparan.
- Perbezaan utama antara kedua-dua corak seni bina ialah di MVC, Pengawal bertanggungjawab untuk menguruskan komunikasi di antara Model dan Paparan menggunakan acara, manakala kerangka itu menjadikan semua pengangkat berat di MVVM menggunakan ciri yang dipanggil pengikatan data. The ViewModel di MVVM membantu untuk menjaga pandangan yang berasingan dari model, dan pada masa yang sama, bertindak sebagai pengawal untuk memudahkan komunikasi antara komponen Lihat dan Model.
Walaupun kedua-dua MVC dan MVVM adalah derivatif model MVC, MVVM adalah varian moden model MVC yang memperkenalkan kelas baru yang dikenali sebagai ViewModel, yang menguruskan data khusus untuk pandangan. Objektif utama model MVVM adalah untuk memisahkan benar antara komponen Model dan Paparan. Di MVC, Pengawal bertanggungjawab untuk menguruskan komunikasi di antara Model dan Paparan. Walau bagaimanapun, dalam MVVM, ViewModel membantu untuk menjaga pandangan yang berasingan dari model dan juga bertindak sebagai pengawal untuk memudahkan komunikasi antara komponen.