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.

  • ๏ธ Architekstur: Model menyimpan data domain, View merender UI dengan Razor, dan Controller memediasi setiap permintaan di antara keduanya.
  • โšก Mengapa MVC: Ini memperbaiki ViewState dan beban kinerja Web Forms serta memungkinkan perutean yang bersih plus Pengembangan Berbasis Pengujian (Test Driven Development).
  • ๐Ÿ”€ Rute: Berdasarkan rute URLs memetakan permintaan masuk ke aksi pengontrol, menggantikan .aspx berbasis file URLdengan jalur yang ramah SEO.
  • ๐Ÿงช Kemampuan untuk diuji: Controller dan Model dapat diuji unit secara terpisah karena View tidak memuat logika bisnis apa pun.
  • ๏ธ Perbandingan Formulir Web: Web Forms menggunakan kontrol server berbasis event; MVC menggunakan aksi berbasis permintaan dengan manajemen status manual.
  • ๏ธ Praktek terbaik: Pertahankan logika bisnis di dalam Model, buat Controller sesederhana mungkin, dan gunakan View parsial atau layout untuk menggunakan kembali markup.

Tutorial ASP.NET MVC

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

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.

Pertanyaan Umum Demo Slot

Ya. GitHub Copilot dapat menghasilkan kelas Controller dengan metode aksi, atribut rute, dan Razor View yang sesuai. RevPeriksa kode yang dihasilkan untuk memastikan pengikatan model dan otorisasi yang benar sebelum menambahkannya ke proyek.

Asisten pembelajaran mesin dapat memetakan halaman Web Forms ke Controller dan View, menerjemahkan kode di belakang layar menjadi metode aksi, dan menandai penggunaan ViewState. Pengembang tetap memvalidasi perutean, pengikatan model, dan setiap aturan bisnis yang dimigrasikan.

ViewData adalah kamus objek yang dikunci oleh string dan hanya bertahan setelah satu permintaan. ViewBag adalah pembungkus dinamis di atas ViewData. TempData menggunakan status sesi dan hanya bertahan setelah satu pengalihan, sehingga digunakan untuk meneruskan data antara dua permintaan berurutan.

Mesin perutean mencocokkan data yang masuk. URL terhadap template yang terdaftar di RouteConfig. Ketika sebuah template cocok, MVC memilih controller dan action, mengikat parameter apa pun, dan memanggil action untuk mengembalikan ActionResult.

Razor adalah sintaks ringkas untuk menyematkan C# atau VB.NET di dalam file .cshtml atau .vbhtml. Ia menggunakan @ untuk beralih dari HTML ke kode, menjaga agar template tetap mudah dibaca, dan mengkompilasi menjadi kelas yang cepat dan bertipe kuat saat runtime.

ASP.NET MVC klasik berjalan pada .NET Framework versi lengkap dan Windows hanya itu. ASP.NET Core MVC berjalan di .NET Core di seluruh Windows, Linux, dan macOS, menggunakan model controller terpadu dengan Web API, dan menawarkan dependency injection bawaan.

Gunakan ASP.NET Identity atau penyedia eksternal seperti Azure AD untuk masuk. Hiasi controller atau action dengan atribut [Authorize] untuk membatasi akses, dan gunakan parameter peran atau kebijakan untuk aturan yang lebih rinci.

Buat instance Controller dalam metode pengujian, suntikkan layanan palsu atau tiruan melalui konstruktor, panggil aksi, dan pastikan bahwa ActionResult yang dikembalikan sesuai dengan nama tampilan, model, atau target pengalihan yang diharapkan.

Ringkaslah postingan ini dengan: