Ohjelmointi

Parhaat käytännöt ASP.Net MVC: ssä

Tämä on toinen viesti parhaita käytäntöjä käsittelevästä artikkelisarjasta. Tässä esitän parhaat käytännöt, joita tulisi noudattaa työskennellessäsi ASP.Net MVC -kehyksen kanssa.

Mistä MVC-suunnittelumalli on kyse?

Ensinnäkin, katsotaanpa nopea kierros perusasioista. Mikä on MVC (Model View Controller) -mallikuvio? Miksi sitä tarvitaan? Käyttöliittymä sisältää usein paljon sekaisin koodia pääasiassa sen monimutkaisen logiikan vuoksi, jota sen on käsiteltävä. Esityskuviot on suunniteltu ensisijaisesti yhdelle tavoitteelle: vähentää monimutkainen koodi esityskerroksessa ja tehdä koodista käyttöliittymässä puhdas ja hallittavissa.

MVC-kehys auttaa sinua rakentamaan sovelluksia, joita on helpompi testata ja ylläpitää. Se koostuu kolmesta pääkomponentista, nimittäin malli (edustaa sovelluksen tietoja ja liiketoimintalogiikkaa), näkymä (tämä edustaa esityskerrosta) ja ohjain (tämä edustaa tyypillisesti sovelluksesi liiketoimintalogiikkaa). MVC-suunnittelumallin avulla voit eristää huolenaiheet ja helpottaa sovelluksesi koodin testaamista ja ylläpitämistä.

Ohjain

Poista demokooditiedostot - AccountController.cs-tiedosto, koska et silti tarvitsisi sitä. AccountController luodaan oletuksena eikä sitä tarvita - poista se! Sinun tulisi myös vähentää ohjainten ja muiden riippuvuuksien, kuten tiedonsiirtokomponentin, poikkeus- ja lokilohkojen jne. Välistä kytkentää. Ohjaimien tulisi olla mahdollisimman ohuita ja sisältää paljon vähemmän koodia. Ihannetapauksessa sinun pitäisi vain delegoida ohjausvirta jollekin ohjausluokan sisällä olevalle liiketoimintalogiikkakomponentille. ASP.Net MVC -sovelluksen ohjaimen tulisi olla eristetty tiedonsiirtokerroksesta - ohjain on vastuussa siitä, että asianmukainen näkymä suoritetaan suorituksen aikana tietyn toiminnan perusteella.

Komentosarjan ja CSS-tiedostojen niputtaminen ja minimointi

Sinun tulisi ryhmittää resurssit, joita sovelluksesi tarvitsee CSS-tiedostojen tapaan, yhdeksi ladattavaksi resurssiksi. Tätä prosessia kutsutaan myös niputtamiseksi. Sinun tulisi myös minimoida skriptit ja CSS-tiedostot, joita käytettäisit poistamaan tarpeettomat merkit, kommentit ja välilyönnit.

Seuraava koodinpätkä kuvaa, kuinka voit luoda nippuobjektin sovelluksen käyttämälle CSS: lle.

public static void RegisterBundles (

BundleCollection-niput)

{

bundles.Add (uusi StyleBundle ("~ / Sisältö / Tyylit")

.Lisää ("~ / Sisältö / Tyylit / bootstrap.css",

"~ / Sisältö / Tyylit / .css"));

}

Seuraava koodi näyttää, kuinka voit niputtaa komentosarjatiedostot, joita sinun on käytettävä sovelluksessasi.

.Sisältää(

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

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

);

Huomaa, kuinka ScriptBundle-luokkaa käytetään komentosarjan sisällön niputtamiseen. Vastaavasti StyleBundle-luokkaa (kuten edellisessä esimerkissä on esitetty) käytetään niputtamaan aiemmin käsittelemämme css-sisältö.

Reittien tarkistus on myös poistettava käytöstä, ellei se ole ehdottoman välttämätöntä tarpeettomien käsittelykustannusten poistamiseksi.

Näkymät

Sinun tulisi käyttää voimakkaasti kirjoitettuja näkymiä aina kun mahdollista - suosittelen POCO: iden lähettämistä ASP.Net MVC -sovelluksesi näkymiin. Sinun tulisi tehdä kaikki käsittely ohjaimissa eikä näkymissä - näkymien tulisi olla vähäisiä, eikä niiden tulisi sisältää liiketoimintalogiikkakoodia. Käytä HTML-avustajissasi vain vähän TagHelpereitä ja muista käyttää HTML-apulaitteita vain, kun sinun on tehtävä ehdollisia päätöksiä tiedoista näkymien kautta. Jos näkymässäsi tarvitaan ehdollista lausetta, siirrä se HtmlHelperiin. HtmlHelpers ei saa koskaan sisältää koodia, joka kutsuu tiedonsiirtokerroksen, eli sinun on pidättäydyttävä kirjoittamasta tiedonsiirtologiikkaa HtmlHelpersin sisällä. Älä sijoita JavaScript-koodia näkymään - erota ne erillisiksi komentotiedostoiksi.

Välimuisti tietosi

Paranna sovelluksesi suorituskykyä ja reagoivuutta käyttämällä välimuistin etuja. Välimuisti on tekniikka, jonka avulla voit tallentaa suhteellisen vanhentunutta tietoa muistiin verkon kaistanleveyden kulutuksen vähentämiseksi. Seuraava koodinpätkä osoittaa, kuinka voit käyttää välimuistia ohjaimissasi.

julkisen luokan ohjain: ohjain

{

[OutputCache (kesto = 3600,

VaryByParam = "ei mitään")]

julkinen ActionResult-indeksi ()

    {

    }

}

Välimuistiin kannattaa tallentaa myös usein käytetyt sivut, jotka sisältävät jaettua dataa ja joita ei tarvitse valtuuttaa. Seuraava koodinpätkä kuvaa, miten voit tehdä tämän.

[OutputCache (kesto = 3600)]

julkinen ActionResult-indeksi ()

{

return View ("Hakemisto", myDataObject);

}

MVC-suunnittelumalli auttaa varmistamaan sovellusten mallien, näkymien ja ohjaimien huolellisen erottelun. Tämä auttaa koodiasi testaamaan ja ylläpitämään helposti. Olen keskustellut tärkeistä seikoista, jotka voit ottaa huomioon työskennellessäsi ASP.Net MVC: n kanssa suorituskykyisten, helpommin testattavien, ylläpidettävien ja skaalautuvien sovellusten rakentamiseksi. Keskustelen lisää ASP.Net MVC: stä tulevissa viesteissä täällä. Joten, pysy kuulolla!