Amalan terbaik dalam ASP.Net MVC

Ini adalah catatan lain mengenai siri artikel mengenai amalan terbaik. Dalam satu ini, saya akan membentangkan amalan terbaik yang harus diikuti semasa bekerja dengan kerangka kerja ASP.Net MVC.

Apakah corak reka bentuk MVC?

Pertama, mari kita ikuti asas-asas asas. Apakah corak reka bentuk MVC (Model View Controller)? Mengapa ia diperlukan? Nah, antara muka pengguna sering mengandungi banyak kod yang berantakan terutamanya kerana logik rumit yang perlu ditangani. Corak persembahan dirancang terutamanya dengan satu objektif: mengurangkan kod kompleks dalam lapisan persembahan dan menjadikan kod di antara muka pengguna bersih dan terkawal.

Rangka kerja MVC membantu anda membina aplikasi yang lebih mudah untuk diuji dan dikendalikan. Ini terdiri daripada tiga komponen utama, iaitu, Model (mewakili data aplikasi dan logik perniagaan), Tampilan (ini mewakili lapisan persembahan) dan Pengawal (ini biasanya mewakili logik perniagaan aplikasi anda). Corak reka bentuk MVC membolehkan anda mengasingkan masalah dan menjadikan kod aplikasi anda lebih mudah untuk diuji dan dikendalikan.

Pengawal

Anda harus memadam fail kod demo - fail AccountController.cs kerana anda tidak memerlukannya. AccountController dibuat secara lalai dan tidak diperlukan - hapus sahaja! Anda juga harus mengurangkan gandingan antara pengawal anda dan kebergantungan lain seperti komponen akses data, pengecualian dan blok pembalakan, dan lain-lain. Pengawal anda harus sekecil mungkin dan mengandungi lebih kurang kod. Sebaik-baiknya, anda hanya perlu mengalihkan aliran kawalan ke beberapa komponen logik perniagaan di dalam kelas pengawal anda. Pengawal dalam aplikasi ASP.Net MVC harus diasingkan dari lapisan akses data - pengawal bertanggungjawab untuk memberikan pandangan yang sesuai pada waktu berjalan berdasarkan tindakan tertentu.

Menggabungkan dan meminimumkan skrip dan fail CSS

Anda harus mengumpulkan sumber yang perlu digunakan oleh aplikasi anda seperti fail CSS ke dalam satu sumber yang boleh dimuat turun. Proses ini juga dikenali sebagai kumpulan. Anda juga harus meminimumkan skrip dan fail CSS yang akan anda gunakan untuk membuang watak, komen dan watak ruang kosong yang tidak diperlukan.

Coretan kod berikut menggambarkan bagaimana anda dapat membuat objek bundle untuk CSS yang perlu digunakan oleh aplikasi anda.

Daftar Bundel awam yang tidak sah (

                       BundleCollection bundle)

{

   bundle.Add (StyleBundle baru ("~ / Kandungan / Gaya")

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

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

}

Kod berikut menunjukkan bagaimana anda dapat mengumpulkan fail skrip yang perlu anda gunakan dalam aplikasi anda.

  .Sertakan (

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

     "~ / Kandungan / Skrip / kalah mati-3.0.0.js")

);

Perhatikan bagaimana kelas ScriptBundle digunakan untuk menggabungkan kandungan skrip. Begitu juga, kelas StyleBundle (seperti yang ditunjukkan dalam contoh sebelumnya) digunakan untuk menggabungkan kandungan css yang telah kita bincangkan sebelumnya.

Anda juga harus mematikan pemeriksaan laluan melainkan jika ia benar-benar diperlukan untuk menghilangkan overhead pemprosesan yang tidak diperlukan.

Pandangan

Anda harus menggunakan paparan yang ditaip kuat seboleh mungkin - saya akan mengesyorkan menghantar POCO ke paparan dalam aplikasi ASP.Net MVC anda. Anda harus melakukan semua pemprosesan di pengawal anda dan bukan pandangan - pandangan harus ramping dan tidak boleh mengandungi kod logik perniagaan. Anda harus menggunakan jumlah minimum TagHelpers dalam pembantu Html anda dan anda harus ingat untuk menggunakan HtmlHelpers hanya apabila anda memerlukan keputusan bersyarat untuk mengambil data melalui paparan. Sekiranya terdapat keperluan pernyataan bersyarat dalam pandangan anda, anda harus memindahkannya ke HtmlHelper. HtmlHelpers tidak boleh mengandungi kod yang meminta lapisan akses data, iaitu, anda harus menahan diri dari menulis logik akses data di dalam HtmlHelpers. Anda tidak boleh meletakkan kod JavaScript dalam pandangan anda - pisahkan ke dalam fail skrip yang berbeza.

Cache data anda

Untuk meningkatkan prestasi dan responsif aplikasi anda, anda boleh memanfaatkan cache. Caching adalah teknik yang membolehkan anda menyimpan data yang agak basi dalam memori sehingga dapat mengurangkan penggunaan jalur lebar rangkaian. Coretan kod berikut menunjukkan bagaimana anda boleh menggunakan cache di pengawal anda.

pengawal kelas awam: Pengawal

{

    [OutputCache (Tempoh = 3600,

VaryByParam = "tiada")]

    Indeks ActionResult awam ()

    {

    }

}

Anda juga harus menyimpan cache halaman yang sering diakses yang berisi data bersama dan tidak perlu disahkan. Coretan kod berikut menggambarkan bagaimana anda boleh melakukan ini.

[OutputCache (Tempoh = 3600)]

Indeks ActionResult awam ()

{

  kembali Paparan ("Indeks", myDataObject);

}

Corak reka bentuk MVC membantu penguatkuasaan pemisahan kebimbangan antara model, pandangan dan pengawal dalam aplikasi anda. Ini membantu kod anda mudah diuji dan dikendalikan. Saya telah membincangkan beberapa perkara penting yang boleh anda pertimbangkan semasa bekerjasama dengan ASP.Net MVC untuk membina aplikasi yang berprestasi tinggi, lebih mudah diuji, dikekalkan dan dibuat skala. Saya akan membincangkan lebih lanjut mengenai ASP.Net MVC dalam catatan akan datang di sini. Jadi, nantikan!