Perbezaan antara MVVM dan MVP Perbezaan Antara
Tujuan pembangunan perisian adalah untuk membina penyelesaian yang menangani keperluan dan masalah bagi pengguna dan perniagaan. Untuk mencapai matlamat ini, pelbagai teknologi dan corak seni bina seperti Model-View-ViewModel (MVVM) dan Model-View-Presenter (MVP) digunakan.
Seperti apa yang dihasilkan, langkah pertama ialah tahap perancangan dan reka bentuk. Proses reka bentuk perisian boleh menjadi spesifikasi berdasarkan teknologi alat yang disukai, dan dapat merangkumi semua aktivitas dari konsep - ke - perancangan - ke - pelaksanaan - ke - pembaruan dan pengubahsuaian.
Ia merangkumi reka bentuk seni bina peringkat rendah dan tinggi, berdasarkan corak seni bina terpilih, dan memetakan penyelesaian yang boleh diguna semula menggunakan corak reka bentuk.
Struktur Aplikasi Perisian
Perisian perisian mentakrifkan struktur aplikasi yang memenuhi keperluan teknikal, operasi, dan pengguna dan merujuk kepada bagaimana kod itu diuruskan dan diuruskan.
Memutuskan pada seni bina aplikasi perisian adalah kritikal kerana ia bukan merupakan bahagian yang mudah, boleh berubah dari suatu aplikasi yang telah dibangunkan; Oleh itu corak seni bina mesti diputuskan sebelum sesuatu program bermula.
Reka bentuk seni bina agak berbeza dengan corak reka bentuk kerana ruang lingkupnya lebih luas dengan menangani isu-isu teknikal seperti prestasi dan batasan perkakasan, dan ketersediaan tinggi. Contoh corak seni bina yang berbeza adalah MVC, MVVM, dan MVP.
Sebaliknya, corak reka bentuk formalkan amalan terbaik yang memudahkan pembangunan berorientasikan objek yang boleh diguna semula dan lebih mudah untuk mengekalkan dan mengubah daripada senibina aplikasi.
Corak Seni Bina
Model View Controller (MVC) adalah salah satu corak seni bina pertama yang dibangunkan untuk aplikasi web, mendapat populariti dari pertengahan hingga akhir tahun sembilan puluhan, terutama dengan masyarakat Jawa.
Rangka kerja yang lebih baru, seperti Django untuk Python dan Rails (Ruby on Rails), mempunyai tumpuan yang kuat terhadap penggunaan pesat, oleh itu MVC mengambil bahagian pasaran sebagai tarikan besar dalam corak seni bina.
Secara tradisinya, pembangunan antara muka pengguna mengandungi banyak kod untuk mengendalikan logik rumit supaya corak arsitektur direka untuk mengurangkan kod pada paras antara muka pengguna (UI), menjadikannya lebih bersih dan terkawal.
Jadi, dengan corak MVC, aplikasi web terdiri daripada
- Model (data)
- Lihat (antara muka untuk melihat dan memanipulasi data)
- dan tindakan yang dilakukan pada data)
Model mengendalikan data dan logik perniagaan dan terdapat ketergantungan tidak antara Model dan atau Lihat . Paparan Lihat
menyajikan data kepada pengguna dalam format yang disokong dan susun atur yang diperlukan, dan apabila Pengawal menerima permintaan pengguna (untuk mengambil data) untuk melengkapkan permintaan. Biarkan corak ini untuk membina kedai buku dalam talian. Pengguna boleh mencari, melihat, mendaftar, dan membeli buku, serta mengurus profil dan senarai buku mereka. Apabila pengguna mengklik pada kategori SCI-FI, semua buku berkaitan harus dipaparkan seperti yang tersedia.
The
Controllers
mengendalikan tindakan yang menguruskan buku-buku (senarai, tambah, paparan, dll). Terdapat banyak Controller dengan satu utama Pengawal 'mengarahkan lalu lintas'. Untuk contoh ini, Pengawal
dinamakan controller_books. php dan Model (e. g. model_books php) mengendalikan data dan logik yang berkaitan dengan buku. Terakhir, berbeza Views
akan diperlukan, seperti ketika menambah buku ke dalam troli online atau saat melihat detail buku dengan gambar dan ulasan. The controller_books. php
menerima tindakan (permintaan pengguna) dari utama Pengawal (e.gg index php). The controller_books. php menganalisis permintaan dan memanggil model_books. php (data) untuk mengembalikan senarai buku SCI-FI. Tanggungjawab Model
adalah untuk memberikan maklumat itu, menggunakan sebarang logik yang digunakan (menggunakan penapis carian). Pengawal kemudian mengambil maklumat tersebut dan lulusnya ke Lihat yang berkaitan (lihat carian, cetakan cetak, paparan terperinci dll) dan maklumat dibentangkan (melalui Lihat >) kepada pengguna yang memulakan permintaan tersebut. Ini adalah asas-asas corak MVC, yang telah mengubah corak pemodelan corak pemula, seperti Model-View-Presenter (MVP), Model-View-ViewModel (MVVM), Hierarchical-Model-View-Controller (HMVC), dan Model-View-Adapter (MVA), dan sebagainya. MVP Pattern Model-View-Presenter (MVP)
adalah variasi MVC. Ia direka khusus untuk automasi ujian di mana objektifnya adalah untuk meningkatkan jumlah kod yang boleh diuji melalui automasi, dan pola menangani beberapa isu dengan lapisan persembahan, mengasingkan logik perniagaan dari UI.
Skrin adalah Paparan, data yang dipamerkannya adalah Model, dan Penyedia cangkuk kedua-duanya bersama-sama.
MVP
merangkumi komponen berikut dengan tanggungjawab berasingan: Model (mentakrifkan data yang akan dipaparkan)
Lihat
(memaparkan data dari Model dan laluan permintaan pengguna ke Penyampai). Penyampaian
- (berinteraksi antara Lihat dan Model dan cangkuk mereka bersama-sama) Paparan
- Lihat (laman web) memaparkan dan menguruskan kawalan halaman dengan meneruskan acara (permintaan pengguna)
- Presenter yang dimulakan di
Lihat . Presenter merespon peristiwa ini dengan membaca dan mengemas kini Model untuk menukar
Lihat dan oleh itu, tanggungjawab Presenter untuk mengikat Model dan Lihat . Setelah melihat corak MVC dan MVP , kesamaan kedua-duanya mempunyai tanggungjawab berasingan untuk setiap komponen dan mereka mempromosikan pemisahan antara
Lihat (UI) dan Model (data). Perbezaan penting antara corak ini lebih jelas dalam bagaimana corak dilaksanakan. MVP mungkin merupakan corak yang kompleks untuk dilaksanakan untuk penyelesaian lanjutan tetapi tentunya mempunyai manfaat besar jika dilaksanakan sebagai penyelesaian yang direka dengan baik, walaupun itu tidak semestinya pilihan yang sesuai untuk penyelesaian mudah. MVVM Model-View-ViewModel (MVVM)
MVVM corak
direka khusus untuk platform Windows Presentation Foundation (WPF) digunakan pada semua platform
XAML [i]
. WPF adalah sistem Microsoft yang menjadikan antaramuka pengguna dalam program berasaskan Windows dan mula-mula dikeluarkan dalam Rangka Kerja NET 3. 0. MVVM telah disempurnakan dari MVC dan dalam corak ini, Lihat
aktif dengan tingkah laku, peristiwa dan mengikat data, dan Lihat disegerakkan dengan ViewModel (yang membolehkan pemisahan persembahan dan mendedahkan kaedah dan perintah untuk mengurus dan memanipulasi Model . MVVM terdiri daripada tiga komponen teras: Model (mewakili data dengan pengesahan dan logik perniagaan) Lihat > (Pandangan ini bertanggungjawab untuk menentukan struktur, susun atur, dan penampilan pengguna yang dilihat pada skrin. Sebaik-baiknya, pandangan itu ditakrifkan semata-mata dengan XAML, dengan kod belakang yang terhad yang tidak mengandungi logik perniagaan. -Binding antara
Lihat dan
- ViewModel ke paparan yang boleh diselaraskan menyegerakkan Model dan ViewModel dengan Paparan)
- ViewModel (memisahkan View dari th e Model, dan mendedahkan kaedah dan arahan untuk memanipulasi data (Model). Lihat menerima data dari ViewModel
- (melalui data-mengikat dan kaedah), dan pada masa runtime, Lihat
akan berubah ketika merespon peristiwa yang ViewModel . ViewModel mengantara antara Lihat dan Model
dan mengendalikan logik Lihat . Ia berinteraksi dengan Model - mengambil data dari Model dan menyampaikannya kepada Lihat untuk dipaparkan. Komponen ini semua dipadam dari satu sama lain yang membolehkan kelonggaran yang lebih besar untuk mengusahakannya secara berasingan, mengasingkan ujian unit, dan menukarnya tanpa menjejaskan komponen lain. Struktur ini membenarkan Model dan komponen lain untuk berkembang secara bebas, yang membolehkan pemaju bekerja pada pelbagai aspek penyelesaian secara serentak. Sebagai contoh, di mana pereka bekerja pada Lihat , mereka hanya menghasilkan sampel data tanpa memerlukan akses kepada komponen lain. Ini memudahkan reka bentuk semula antara muka pengguna dengan mudah seperti
Lihat
dilaksanakan di XAML. Seperti disebutkan sebelumnya dengan MVP , penyelesaian mudah tidak memerlukan corak arsitektur dan reka bentuk, seperti "Hello World!"Terlalu asas untuk mengikuti sebarang corak; Walau bagaimanapun, apabila lebih banyak ciri, fungsi, dan komponen diperkenalkan, kerumitan aplikasi meningkat dan begitu juga jumlah kod yang perlu diuruskan. Dalam Ringkasan Sejak permulaan pembangunan antara muka pengguna, corak reka bentuk menjadi semakin popular untuk memudahkan proses pembangunan, aplikasi lebih berskala dan memudahkan pengujian lebih mudah. Perbezaan Illustrated antara Corak MVP dan MVVM:
Di kedua MVP dan
MVVM
Lihat
- adalah titik masuk ke aplikasi > Dalam MVP , terdapat satu-satu peta antara Lihat dan Presenter , di mana
- MVVM -yang banyak di antara Lihat dan ViewModel . MVP digunakan terutamanya untuk aplikasi Windows Forms dan Windows Phone dan MVVM direka untuk Silverlight, WPF, Knockout / AngularJS, dll