Praktik terbaik di ASP.Net MVC

Ini adalah postingan lain di seri artikel tentang praktik terbaik. Dalam hal ini, saya akan menyajikan praktik terbaik yang harus diikuti saat bekerja dengan kerangka kerja ASP.Net MVC.

Tentang apakah pola desain MVC?

Pertama, mari kita lihat dasar-dasarnya. Tentang apakah pola desain MVC (Model View Controller)? Mengapa itu dibutuhkan? Ya, antarmuka pengguna sering kali berisi banyak kode yang berantakan terutama karena logika rumit yang perlu ditangani. Pola presentasi dirancang terutama dengan satu tujuan: mengurangi kode kompleks di lapisan presentasi dan membuat kode di antarmuka pengguna bersih dan mudah dikelola.

Kerangka kerja MVC membantu Anda membangun aplikasi yang lebih mudah untuk diuji dan dipelihara. Ini terdiri dari tiga komponen utama, yaitu, Model (mewakili data aplikasi dan logika bisnis), View (ini mewakili lapisan presentasi) dan Controller (ini biasanya mewakili logika bisnis aplikasi Anda). Pola desain MVC memungkinkan Anda mengisolasi masalah dan membuat kode aplikasi Anda lebih mudah untuk diuji dan dipelihara.

Pengendali

Anda harus menghapus file kode demo - file AccountController.cs karena Anda tidak akan membutuhkannya. AccountController dibuat secara default dan tidak diperlukan - hapus saja! Anda juga harus mengurangi kopling antara pengontrol Anda dan dependensi lain seperti komponen akses data, pengecualian dan pencatatan blok, dll. Anda pengontrol harus seramping mungkin dan berisi lebih sedikit kode. Idealnya, Anda sebaiknya mendelegasikan aliran kontrol ke beberapa komponen logika bisnis di dalam kelas pengontrol Anda. Pengontrol dalam aplikasi ASP.Net MVC harus diisolasi dari lapisan akses data - pengontrol bertanggung jawab untuk membuat tampilan yang sesuai pada waktu proses berdasarkan tindakan tertentu.

Membundel dan memperkecil file skrip dan CSS

Anda harus mengelompokkan sumber daya yang dibutuhkan aplikasi Anda seperti file CSS ke dalam satu sumber daya yang dapat diunduh. Proses ini juga dikenal sebagai bundling. Anda juga harus meminimalkan skrip dan file CSS yang akan Anda gunakan untuk menghapus karakter yang tidak perlu, komentar, dan karakter spasi.

Cuplikan kode berikut mengilustrasikan bagaimana Anda dapat membuat objek bundel untuk CSS yang perlu digunakan aplikasi Anda.

RegisterBundles public static void (

                       BundleCollection bundel)

{

   bundles.Add (StyleBundle baru ("~ / Content / Styles")

       .Include ("~ / Content / Styles / bootstrap.css",

                "~ / Konten / Gaya / .css"));

}

Kode berikut menunjukkan bagaimana Anda dapat memaketkan file skrip yang perlu Anda gunakan dalam aplikasi Anda.

  .Include (

     "~ / Konten / Skrip / -1.0.0.js",

     "~ / Konten / Skrip / KO-3.0.0.js")

);

Perhatikan bagaimana kelas ScriptBundle digunakan untuk menggabungkan konten skrip. Demikian pula, kelas StyleBundle (seperti yang ditunjukkan pada contoh sebelumnya) digunakan untuk menggabungkan konten css yang telah kita diskusikan sebelumnya.

Anda juga harus mematikan pemeriksaan rute kecuali benar-benar diperlukan untuk menghilangkan overhead pemrosesan yang tidak perlu yang terlibat.

Tampilan

Anda harus menggunakan tampilan yang diketik dengan kuat jika memungkinkan - Saya akan merekomendasikan mengirim POCO ke tampilan di aplikasi ASP.Net MVC Anda. Anda harus melakukan semua pemrosesan di pengontrol Anda dan bukan di tampilan - tampilan harus ramping dan tidak boleh berisi kode logika bisnis apa pun. Anda harus menggunakan jumlah TagHelpers yang minimal di pembantu Html dan Anda harus ingat untuk menggunakan HtmlHelpers hanya saat Anda membutuhkan keputusan bersyarat untuk diambil pada data melalui tampilan. Jika ada kebutuhan akan pernyataan bersyarat dalam tampilan Anda, Anda harus memindahkannya ke HtmlHelper. HtmlHelpers tidak boleh berisi kode yang memanggil lapisan akses data, misalnya, Anda harus menahan diri dari menulis logika akses data di dalam HtmlHelpers. Anda tidak boleh menempatkan kode JavaScript dalam tampilan Anda - pisahkan menjadi file skrip yang berbeda.

Simpan data Anda dalam cache

Untuk meningkatkan kinerja dan daya tanggap aplikasi Anda, Anda dapat memanfaatkan cache. Caching adalah teknik yang memungkinkan Anda menyimpan data yang relatif lama di memori untuk mengurangi konsumsi bandwidth jaringan. Potongan kode berikut menunjukkan bagaimana Anda dapat menggunakan caching di pengontrol Anda.

kelas publik Pengontrol: Pengontrol

{

    [OutputCache (Durasi = 3600,

VaryByParam = "tidak ada")]

    publik ActionResult Index ()

    {

    }

}

Anda juga harus menyimpan cache halaman yang sering diakses yang berisi data bersama dan tidak perlu diotorisasi. Cuplikan kode berikut menggambarkan bagaimana Anda dapat melakukan ini.

[OutputCache (Durasi = 3600)]

publik ActionResult Index ()

{

  return View ("Index", myDataObject);

}

Pola desain MVC membantu penegakan pemisahan perhatian yang bersih antara model, tampilan, dan pengontrol dalam aplikasi Anda. Ini membantu kode Anda diuji dan dipelihara dengan mudah. Saya telah membahas beberapa poin penting yang dapat Anda pertimbangkan saat bekerja dengan ASP.Net MVC untuk membangun aplikasi yang berkinerja tinggi, lebih mudah untuk menguji, memelihara, dan menskalakan. Saya akan membahas lebih lanjut tentang ASP.Net MVC dalam posting yang akan datang di sini. Jadi, pantau terus!