MVC vs. Web API: Mitä ASP.NET-tekniikkaa sinun tulisi käyttää?


Tässä artikkelissa puhumme ASP.NET-mallinäkymän ohjaimen (MVC) ja ASP.NET-Web-sovellusliittymän välisistä eroista, joita sinun pitäisi käyttää erilaisiin vaatimuksiin. Ennen syvemmälle menemistä saamme lyhyen esittelyn siitä, mitä MVC todella on.

MVC tai Model-View- Controller jakaa sovelluksen tosiasiallisesti.

  • Malli – Nämä ovat objekteja, jotka hakevat mallin tilan tietokannasta, eli ne noutavat tiedot tietokannasta, suorittavat tietyn toiminnon ja tallentavat tiedot tietokantaan.
  • Näytä – Täällä kehittäjät voivat ’tarkastella’ tietomallin luomien sovellusten käyttöliittymää tai käyttöliittymää.
  • Ohjaimet – Ohjaimet tai komponentit hallitsevat käyttäjän toimintaa, hallitsevat kyselymerkkijonon arvoja ja siirtävät arvot malleihin.

MVC löytyy ”System.Web.MVC” -kokoonpanosta. MVC-kehys käyttää ASP.NET-ominaisuuksia, kuten jäsenyyteen perustuvaa todennusta, pääsivuja jne. Voit kokeilla ASP.NET: n eri vaihtoehtoja verkkosovellusten tekemiseksi ASP.NET-verkkolomakkeilla.

ASP.NET Web -sovellusliittymän kautta voit näyttää tietomuotoja, kuten XML ja JSON. Tämä kehys on avoimen lähdekoodin, käyttää HTTP-palvelua, ja vastaaminen asiakkaan pyyntöihin on kakku. Itse pyyntöjä (esimerkiksi Get, Post, Delete, Put jne.) Hallitaan HTTP-protokollien avulla. ASP.NET-Web-sovellusliittymää voidaan isännöidä IIS: ssä tai sovelluksessa.

Aloittelijat sekoittuvat yleensä käytettävän ASPNET-tekniikan valintaan. Tässä on muutama esimerkki, joissa voit käyttää kutakin näistä tekniikoista.

1) Toimintojen paljastaminen

ASP.NET MVC -ohjaimet olisivat hyvä valinta (1), jos haluat paljastaa toiminnallisuuden yhden sovelluksen sisällä tai (2) jos sitä käytetään yleisenä toimintona missä tahansa sovelluksessa. Voit säästää aikaa tällä tavalla, koska sinun ei tarvitse luoda uutta sovellusliittymää paljastamaan toiminnot joka kerta. Normaalisti ohjain on liitetty tiettyyn verkkosovellukseen ja se paljastaa toiminnot nopeasti kulutettaviksi Ajaxin kautta.

Jos haluat luoda täysimittaisen REST-palvelun, jota ei ole liitetty yhteen sovellukseen, voit käyttää Web-sovellusliittymää, koska se tarjoaa tyylikkään ja siistin ratkaisun.

Jos toiminnallisuus on käyttöliittymä tai näkymäkeskeinen, kuten HTML-fragmenttien lataaminen tai AJAX-ajettujen sivujen luominen, ASP.NET MVC on parempi valinta. Web-sovellusliittymä olisi hyvä valinta, kun luot erillistä RESTful-palvelua.

Jos toiminnallisuus on datakeskeistä, valitse Web-API-palvelimet. Esimerkki CRUD-toiminnoista. Normaaleissa MVC-sovelluksissa vain ohjaimet ovat riittäviä palauttamaan sekä tiedot että näkymät.

2) Käsiteltävät tietomuodot

Ohjaimet palauttavat joko ActionResult tai JsonResult, mikä tarkoittaa, että ohjaimen ulostulo voi olla joko HTML-merkintä tai JSON-muotoinen data. Jos jokin näistä tietomuotoista riittää, voit paljastaa toimintoja toimintamenetelmillä. Kuitenkin, kun kyseessä on useita tietomuotoja, Web-sovellusliittymä olisi parempi valinta. Tämä johtuu siitä, että tämä tekniikka voi automaattisesti päättää verkkomuodon tarkastelemalla Hyväksy-otsikkoa. MVC-ohjaimessa joudut määrittelemään tietomuodon toimintatapojen kirjoittamista varten.

Web-sovellusliittymää voidaan käyttää HTTP-palveluiden tuottamiseen, jotka vastaavat vain tietoihin, mutta MVC sopisi sellaisten verkkosovellusten kehittämiseen, jotka vastaavat sekä näkyminä että tiedoina.

Web-sovellusliittymä tarkastelee pyynnön Hyväksy otsikkoa, joka palauttaa tiedot eri muodoissa, joten se voi palata eri muodoissa, kuten XML, JSON jne. Mutta MVC: lle tiedot palautetaan vain JSON-muodossa JSONResultia käyttäen.

3) Kun yhdistät MVC: n ja Web-sovellusliittymän

Kehittäjät voivat nauttia muutamista eduista, kun ne yhdistävät sekä MVC-ohjaimen että API: n.

(1) Voit hallita AJAX-pyyntöjä ja palauttaa vastauksen useissa muodoissa, kun yhdistät molemmat.

(2) Voit luoda kaksi erilaista suodatinta sovelluksen valtuutusta varten. Pyynnöt yhdistetään HTTP-verbien toimintoihin, mutta ne on yhdistetty MVC: n toimintojen nimiin. Voit käyttää API: ta erillisenä palvelutasona ja sitä voidaan käyttää myös ASP.NET: n kanssa.

Mallin sidonta, reititys ja suodattimet ovat kaikki erilaisia Web-sovellusliittymässä, ja ne ovat olemassa System.web.http-kokoonpanossa. Nämä ominaisuudet ovat System.web.MVC: ssä MVC-kehyksessä.

4) Tarvitsetko itsepalvelua


Kuten tiedät, ohjain, osa ASP.NET MVC -sovelluksista tarvitsee IIS: n isäntäympäristönä. API on kuitenkin palvelukehys, ja voit itse isännöidä sitä. Tämä tekee siitä kevyen, koska voit välttää IIS: n yleiskustannukset. Tämä on loistava valinta, kun sovelluksesi on julkaistava useilla alustoilla – työpöydällä, verkkosovelluksissa, konsolisovelluksissa jne.

Lopulliset ajatukset

Voit valita Web-sovellusliittymän, jos luot täyden HTTP-palvelun, kuten Flickr, Amazon, Delicious jne. Se on myös hyvä valinta, jos tarvitset sisältöneuvotteluja. Sisältöneuvottelut ovat sisällön palauttamista Accept Headerin mainitsemassa muodossa. Et kuitenkaan välttämättä tarvitse sitä kaikissa projekteissasi, koska tietojen lähettäminen JSON- ja XML-muodossa on enimmäkseen vaadittavaa. Web-sovellusliittymän avulla sinulla on mahdollisuus lähettää sisältöä eri muodoissa, mukaan lukien kuvat ja tiedostot.

WebAPI on ehkä parempi kehys, kun haluat näyttää tietojasi ja palveluitasi eri laitteille. Ja se on avoimen lähdekoodin ja siten täydellinen foorumi RESTful-palvelujen luomiseen DotNet-kehyksen kautta. Ja sinun ei tarvitse tehdä mitään lisäasetuksia kullekin laitteelle erikseen. Nykyään ihmiset haluavat käyttää enemmän mobiilisovelluksia verrattuna työpöytäsovelluksiin, joten molempien sovellusten kehittäminen on erittäin tärkeää.

MVC puolestaan tarjoaa puhtaan erillisen huolenaiheen, mahdollistaa täyden hallinnan renderoidusta HTML-koodista, helpon integroinnin Javascript-kehyksiin ja testikäyttöisen kehityksen.

Mielenkiintoisia artikkeleita:
Miksi Web-sovellusliittymä on parempi kuin MVC
Lyhyet tiedot MVC: stä API: sta

Kuvalähde: Flickr.com/ Dennis / Yamashita


Kirjoittaja: Reema Oamkumar on sitoutunut ajatusjohtajana www.Software-Developer-India.com -sivustolla, joka on osa YUHIRO-ryhmää. YUHIRO on intialainen saksalainen yritys, joka tarjoaa ohjelmoijia IT-yrityksille, virastoille ja IT-osastoille.

Vastaa

This site uses Akismet to reduce spam. Learn how your comment data is processed.