Tutorial ASP.NET MVC untuk Pemula: Apa itu, Architekstur
โก Ringkasan Cerdas
ASP.NET MVC adalah perangkat lunak sumber terbuka. Microsoft Kerangka kerja yang memisahkan aplikasi web ke dalam lapisan Model, View, dan Controller, memberikan pengembang kendali penuh atas HTML, kode yang dapat diuji, perutean yang bersih, dan alternatif ringan untuk Web Forms klasik.
Apa itu ASP.NET MVC?
ASP.NET MVC adalah kerangka pengembangan web sumber terbuka dari Microsoft yang menyediakan arsitektur Model View Controller. ASP.NET MVC menawarkan alternatif untuk ASP.NET Web Forms untuk membangun aplikasi web. Ini adalah bagian dari platform .NET untuk membangun, menyebarkan, dan menjalankan aplikasi web. Anda dapat mengembangkan aplikasi web dan situs web dengan bantuan HTML, CSS, jQuery, JavaSkrip, dll.
Pelajari MVC dengan tutorial ASP.NET MVC ini yang mencakup semua konsep dasar MVC untuk pemula:
Mengapa ASP.NET MVC?
Meskipun formulir web sangat sukses, Microsoft berpikir untuk mengembangkanping ASP.NET MVC. Masalah utama pada ASP.NET webForms adalah performa.
Di sebuah aplikasi web, ada empat aspek utama yang menentukan kinerja: -
- Masalah waktu respons
- Masalah Pengujian Unit
- Kustomisasi HTML
- Penggunaan kembali kelas di belakang kode
ASP.NET MVC unggul dalam parameter-parameter di atas.
Riwayat Versi MVC
ASP.NET MVC1
- Dirilis pada 13 Maret 2009
- Aplikasi ini berjalan menggunakan .NET 3.5.
- Visual Studio 2008
- Arsitektur Pola MVC dengan WebForm Engine
- Fitur Utama termasuk Html & Pengujian Unit, Pembantu Ajax, Perutean, dll.
ASP.NET MVC2
- Versi ini dirilis pada 10 Maret 2010
- Berjalan pada .NET 3.5, 4.0 dan dengan Microsoft Visual Studio 2008
- Sertakan fitur seperti helper berbasis template, helper UI dengan scaffolding otomatis & template yang dapat disesuaikan.
- Ini mendukung Atribut DataAnnotations untuk menerapkan validasi model di sisi klien dan server
ASP.NET MVC3
- Ini dirilis pada 13 Januari 2011
- Berjalan di .NET 4.0 dan dengan Microsoft Visual Studio 2010
- Penggunaan NuGet untuk menghadirkan perangkat lunak dan memungkinkan Anda mengelola dependensi di seluruh platform
- Lebih baik JavaDukungan skrip dengan Validasi jQuery dan pengikatan JSON.
- Fitur-fitur yang ditawarkannya meliputi mesin tampilan Razor dan atribut Anotasi Data yang disempurnakan untuk validasi model baik di sisi klien maupun server.
ASP.NET MVC4
- Versi ini dirilis pada Agustus 2012
- Ini berjalan pada .NET 4.0, 4.5 dan dengan Visual Studio 2010 & Visual Studio 2012
- Penyempurnaan pada templat proyek default
- Menawarkan fitur-fitur seperti templat proyek seluler menggunakan jQuery Mobile, dukungan tugas untuk Pengendali Asinkron, bundling, minifikasi, dll.
ASP.NET MVC5
- Dirilis pada 17 Oktober 2013
- Berjalan pada .NET 4.5, 4.5.1 dan dengan Visual Studio 2012 & Visual Studio 2013
- Mendukung perutean atribut di MVC
Fitur MVC
- Kemampuan pengujian yang mudah dan tanpa gesekan
- Kontrol penuh atas HTML Anda, JavaNaskah, dan URLs
- Manfaatkan yang ada ASP.NET Fitur
- Opsi presentasi baru untuk ASP.NET
- Cara yang lebih sederhana untuk memprogram ASP.NET
- Pemisahan logika yang jelas: Model, Tampilan, Pengontrol
- Pengembangan Berbasis Tes
- Dukungan untuk pengembangan paralel
Hal yang perlu diingat saat membuat Aplikasi MVC
Berikut adalah beberapa hal berguna dalam tutorial ASP.NET MVC yang perlu Anda ingat untuk membuat aplikasi MVC:
- Anda perlu ingat bahwa ASP.NET MVC BUKAN pengganti aplikasi berbasis ASP.NET web forms.
- Pendekatan pengembangan aplikasi MVC harus ditentukan berdasarkan persyaratan aplikasi dan fitur yang disediakan oleh ASP.NET MVC agar sesuai dengan kebutuhan pengembangan spesifik.
- Proses pengembangan aplikasi dengan ASP.NET MVC lebih kompleks dibandingkan dengan aplikasi berbasis web forms.
- Pemeliharaan aplikasi selalu lebih tinggi dengan pemisahan tugas aplikasi.
Pola Arsitektur MVC
MVC adalah pola arsitektur perangkat lunak yang mengikuti metode pemisahan tanggung jawab. Dalam model ini, aplikasi .NET dibagi menjadi tiga bagian yang saling berhubungan yang disebut Model, View, dan Controller.
Tujuan dari pola MVC adalah agar masing-masing bagian ini dapat dikembangkan, diuji dalam isolasi relatif dan juga digabungkan untuk menciptakan aplikasi yang sangat kuat.
Mari kita lihat semuanya secara detail:
Model
Objek model adalah bagian dari aplikasi yang mengimplementasikan logika aplikasi domain data. Ini mengambil dan menyimpan status model dalam database. Misalnya, objek produk mungkin mengambil informasi dari a Database, operasikan itu. Kemudian tulis informasi kembali ke tabel produk di server SQL.
views
View adalah komponen yang digunakan untuk menampilkan antarmuka pengguna (UI) aplikasi, yang juga disebut viewmodel dalam MVC. View menampilkan aplikasi .NET MVC yang dibuat dari data model.
Contoh umum adalah tampilan edit tabel Item. Tampilan ini menampilkan kotak teks, pop-up, dan kotak centang berdasarkan status produk & objek saat ini.
pengawas
Controller menangani interaksi pengguna, bekerja dengan model, dan memilih view untuk merender UI tampilan tersebut. Dalam aplikasi .NET MVC, view hanya menampilkan informasi, sedangkan controller mengelola dan menanggapi input & interaksi pengguna menggunakan action filter dalam MVC.
Misalnya, pengontrol mengelola nilai string kueri dan meneruskan nilai tersebut ke model.
Formulir Web vs. MVC
| Parameter Teknis | Formulir Web | MVC |
|---|---|---|
| Pilih Model | ASP.NET Web Forms mengikuti model pengembangan berbasis peristiwa (event-driven development). | ASP.NET MVC menggunakan model pengembangan berbasis pola MVC. |
| Digunakan Sejak | Sudah ada sejak tahun 2002 | Ini pertama kali dirilis pada tahun 2009 |
| Dukungan untuk status Tampilan | ASP.NET Web Form mendukung view state untuk manajemen status di sisi klien. | .NET MVC tidak mendukung view state. |
| URL mengetik | ASP.NET Web Form berbasis file URLArtinya nama file tersebut ada di dalam URLdan mereka harus ada secara fisik. | ASP.NET MVC memiliki sistem berbasis rute. URLartinya URLyang dialihkan ke controller dan action. |
| Sintaksis | ASP.NET Web Forms mengikuti sintaks Web Forms. | ASP.NET MVC mengikuti sintaks yang dapat disesuaikan. |
| Jenis tampilan | Formulir Web, tampilan sangat terkait erat dengan Code di balik (ASPX-CS), yaitu, logika. | MVC, Tampilan, dan logika selalu disimpan secara terpisah. |
| Tampilan dan nuansa yang konsisten | Ini memiliki halaman master untuk tampilan yang konsisten. | ASP.NET MVC memiliki layout untuk tampilan yang konsisten. |
| Code Dapat digunakan kembali | Formulir Web menawarkan Kontrol Pengguna untuk penggunaan kembali kode. | ASP.NET MVC telah menawarkan partial view untuk penggunaan kembali kode. |
| Kontrol untuk HTML | Less kontrol atas HTML yang dirender. | Kontrol penuh atas HTML |
| Manajemen negara | Manajemen kontrol status otomatis. | Manajemen status manual. |
| dukungan TDD | Diperlukan TDD yang lemah atau khusus. | Mendorong dan menerapkan TDD (Test-Driven Development). |
Keuntungan dari ASP.NET MVC
- Aplikasi yang sangat mudah dipelihara secara default
- Ini memungkinkan Anda mengganti komponen aplikasi apa pun.
- Dukungan yang lebih baik untuk Test Driven Development
- Aplikasi yang kompleks mudah dikelola karena adanya pembagian Model, View, dan Controller.
- Menawarkan mekanisme perutean yang kuat dengan pola pengontrol depan
- Menawarkan kontrol yang lebih baik atas perilaku aplikasi dengan penghapusan status tampilan dan formulir berbasis server
- Aplikasi .NET MVC didukung oleh tim pengembang dan perancang web yang besar.
- Ini menawarkan kontrol lebih besar atas perilaku aplikasi. Itu juga menggunakan bandwidth yang dioptimalkan untuk permintaan yang dibuat ke server
Kekurangan ASP.NET MVC
- Anda tidak dapat melihat pratinjau halaman desain seperti pada halaman .aspx.
- Anda perlu menjalankan program setiap kali untuk melihat desain sebenarnya.
- Memahami alur aplikasi bisa jadi menantang
- Implementasinya cukup rumit, jadi ini bukan pilihan ideal untuk aplikasi tingkat kecil
- Sulit mempelajari MVC untuk ASP.NET, karena memerlukan pemahaman yang baik tentang pola MVC
Praktik terbaik saat menggunakan ASP.NET MVC
- Buat assembly terpisah untuk MODEL jika kode berukuran besar dan kompleks untuk menghindari situasi yang tidak diinginkan.
- Model harus mencakup logika bisnis, pemeliharaan sesi, bagian validasi, dan bagian logika data.
- VIEW tidak boleh berisi logika bisnis dan pemeliharaan sesi apa pun, gunakan ViewData untuk mengakses data di View
- Logika bisnis dan akses data seharusnya tidak pernah terjadi di Controller.
- Pengontrol hanya bertanggung jawab untuk mempersiapkan dan mengembalikan tampilan, memanggil model, mengarahkan ke tindakan, dll.
- Hapus kode Demo dari aplikasi saat Anda membuatnya (Hapus AccountController)
- Gunakan hanya mesin tampilan tertentu untuk membuat markup HTML dari tampilan Anda karena ini merupakan kombinasi HTML dan kode pemrograman.


