Programmēšana

Labākā prakse ASP.Net MVC

Šis ir vēl viens raksts par labāko praksi. Šajā es iepazīstināšu ar paraugpraksi, kas jāievēro, strādājot ar ASP.Net MVC ietvaru.

Kas ir MVC dizaina modelis?

Pirmkārt, apskatīsim pamatus. Kas ir MVC (Model View Controller) dizaina modelis? Kāpēc tas tomēr ir vajadzīgs? Lietotāja saskarne bieži satur daudz pārblīvēta koda, galvenokārt sarežģītās loģikas dēļ, kas tai jārīkojas. Prezentācijas modeļi galvenokārt tiek veidoti, paturot prātā vienu mērķi: samazināt sarežģīto kodu prezentācijas slānī un padarīt kodu lietotāja saskarnē tīru un pārvaldāmu.

MVC ietvars palīdz jums izveidot lietojumprogrammas, kuras ir vieglāk pārbaudīt un uzturēt. Tas sastāv no trim galvenajiem komponentiem, proti, modelis (atspoguļo lietojumprogrammas datus un biznesa loģiku), skats (tas pārstāv prezentācijas slāni) un kontrolieris (tas parasti attēlo jūsu lietojumprogrammas biznesa loģiku). MVC dizaina modelis ļauj jums izolēt problēmas un atvieglo lietojumprogrammas koda pārbaudi un uzturēšanu.

Kontrolieris

Jums vajadzētu izdzēst demonstrācijas koda failus - failu AccountController.cs, jo jums tas tik un tā nebūtu vajadzīgs. AccountController tiek izveidots pēc noklusējuma un nav vajadzīgs - vienkārši izdzēsiet to! Jums vajadzētu arī samazināt saikni starp jūsu kontrolieriem un citām atkarībām, piemēram, datu piekļuves komponenti, izņēmumu un reģistrēšanas bloki utt. Jums kontrolieriem jābūt pēc iespējas mazākiem un satur daudz mazāk koda. Ideālā gadījumā jums vienkārši vajadzētu deleģēt vadības plūsmu kādam biznesa loģikas komponentam jūsu kontrolieru klasē. ASP.Net MVC lietojumprogrammas kontrolierim jābūt izolētam no datu piekļuves slāņa - kontrolieris ir atbildīgs par atbilstoša skata izpildes laikā renderēšanu, pamatojoties uz noteiktu darbību.

Skriptu un CSS failu apvienošana un samazināšana

Resursi, kas jūsu lietojumprogrammai jāizmanto, piemēram, CSS faili, jāgrupē vienā lejupielādējamā resursā. Šis process ir pazīstams arī kā komplektēšana. Jums vajadzētu arī samazināt skriptus un CSS failus, kurus izmantojat, lai noņemtu nevajadzīgās rakstzīmes, komentārus un atstarpes.

Šis koda fragments ilustrē, kā varat izveidot komplekta objektu CSS, kas jūsu lietošanai jāizmanto.

public static void RegisterBundles (

BundleCollection saišķi)

{

paketes.Add (new StyleBundle ("~ / Saturs / Stili")

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

"~ / Saturs / Stili / .css"));

}

Šis kods parāda, kā varat apvienot skripta failus, kas jums jāizmanto lietojumprogrammā.

. Iekļaut (

"~ / Content / Scripts / -1.0.0.js",

"~ / Content / Scripts / knockout-3.0.0.js")

);

Ievērojiet, kā klase ScriptBundle tiek izmantota skripta satura komplektēšanai. Līdzīgi, StyleBundle klase (kā parādīts iepriekšējā piemērā) tiek izmantota iepriekš apspriestā css satura komplektēšanai.

Jums vajadzētu arī izslēgt maršrutu pārbaudi, ja vien tas nav absolūti nepieciešams, lai novērstu nevajadzīgās apstrādes pieskaitāmās izmaksas.

Skati

Jums vajadzētu izmantot stingri ierakstītus skatus, kur vien iespējams - es ieteiktu nosūtīt POCOs uz jūsu ASP.Net MVC lietojumprogrammas skatiem. Visa apstrāde jāveic kontrolieros, nevis skatos - skatiem jābūt vienkāršiem un tajos nedrīkst būt biznesa loģikas kodu. Savos HTML palīgos jums jāizmanto minimāls daudzums TagHelpers, un jums vajadzētu atcerēties HtmlHelpers lietot tikai tad, kad jums ir jāpieņem nosacīti lēmumi par datiem, izmantojot skatus. Ja jūsu skatījumā ir nepieciešams nosacīts paziņojums, jums tas jāpārvieto uz HtmlHelper. HtmlHelpers nekad nedrīkst saturēt kodu, kas izsauc datu piekļuves slāni, t.i., jums vajadzētu atturēties no datu piekļuves loģikas rakstīšanas HtmlHelpers iekšienē. Jums nevajadzētu ievietot JavaScript kodu savā skatā - atdaliet tos atsevišķos skriptu failos.

Saglabājiet datus kešatmiņā

Lai uzlabotu lietojumprogrammas veiktspēju un atsaucību, varat izmantot kešatmiņas priekšrocības. Kešatmiņa ir paņēmiens, kas ļauj saglabāt atmiņā samērā novecojušus datus, lai samazinātu tīkla joslas platuma patēriņu. Šis koda fragments parāda, kā kešatmiņu var izmantot kontrolieros.

publiskās klases kontrolieris: kontrolieris

{

[OutputCache (ilgums = 3600,

VaryByParam = "neviens")]

publiskais ActionResult indekss ()

    {

    }

}

Jums vajadzētu arī saglabāt kešatmiņā bieži pieejamās lapas, kurās ir koplietoti dati un kurām nav nepieciešama autorizācija. Šis koda fragments parāda, kā to izdarīt.

[OutputCache (ilgums = 3600)]

publiskais ActionResult indekss ()

{

atgriezties View ("Index", myDataObject);

}

MVC dizaina modelis palīdz nodrošināt, lai jūsu lietojumprogrammā esošie modeļi, skati un kontrolieri nošķirtu bažas. Tas palīdz jūsu kodu viegli pārbaudīt un uzturēt. Esmu apspriedis dažus svarīgus jautājumus, kurus varat ņemt vērā, strādājot ar ASP.Net MVC, lai izveidotu lietojumprogrammas, kurām ir augsta veiktspēja, vieglāk pārbaudīt, uzturēt un mērogot. Es apspriedīšu vairāk par ASP.Net MVC nākamajos ierakstos šeit. Tātad, sekojiet līdzi jaunumiem!

$config[zx-auto] not found$config[zx-overlay] not found