logo

MVC ietvara ievads

Dažu pēdējo gadu laikā vietnes ir mainījušās no vienkāršām HTML lapām, kurās ir nedaudz CSS, uz neticami sarežģītām lietojumprogrammām, kurās vienlaikus strādā tūkstošiem izstrādātāju. Lai strādātu ar šīm sarežģītajām tīmekļa lietojumprogrammām, izstrādātāji izmanto dažādus dizaina modeļus, lai izkārtotu savus projektus, lai padarītu kodu mazāk sarežģītu un vieglāku darbu. Vispopulārākais no šiem modeļiem ir MVC zināms arī kā Modeļa skata kontrolieris.

Kas ir MVC?

The Modeļa skata kontrolieris (MVC) ietvars ir arhitektūras/dizaina modelis, kas sadala lietojumprogrammu trīs galvenajos loģiskajos komponentos Modelis , Skatīt , un Kontrolieris . Katrs arhitektūras komponents ir izveidots, lai apstrādātu konkrētus lietojumprogrammas izstrādes aspektus. Tas izolē biznesa loģiku un prezentācijas slāni vienu no otra. To tradicionāli izmantoja galddatoriem grafiskās lietotāja saskarnes (GUI) . Mūsdienās MVC ir viens no visbiežāk izmantotajiem nozares standarta tīmekļa izstrādes ietvariem, lai izveidotu mērogojamus un paplašināmus projektus. To izmanto arī mobilo lietotņu projektēšanai.



MVC izveidoja Trygve Reenskaug . Šī dizaina modeļa galvenais mērķis bija atrisināt problēmu, kas saistīta ar lietotājiem, kuri kontrolē lielu un sarežģītu datu kopu, sadalot lielu lietojumprogrammu īpašās sadaļās, kurām visām ir savs mērķis.

MVC īpašības:

  • Tas nodrošina skaidru atdalīšanu biznesa loģika, lietotāja interfeisa loģika un ievades loģika.
  • Tas piedāvā pilnīgu kontroli pār jūsu HTML un URL, kas atvieglo tīmekļa lietojumprogrammu arhitektūras izstrādi.
  • Tas ir spēcīgs URL kartēšanas komponents, ar kuru mēs varam izveidot lietojumprogrammas, kurām ir saprotami un meklējami URL.
  • Tā atbalsta Test Driven Development (TDD).

Lai uzzinātu vairāk par MVC Framework izmantošanas priekšrocībām, skatiet rakstu - MVC ietvara izmantošanas priekšrocības

MVC sastāvdaļas:

MVC ietvars ietver šādus 3 komponentus:



  • Kontrolieris
  • Modelis
  • Skatīt

MVC arhitektūras dizains

Kontrolieris:

Kontrolieris ir komponents, kas nodrošina starpsavienojumu starp skatiem un modeli, lai tas darbotos kā starpnieks. Kontrolierim nav jāuztraucas par datu loģikas apstrādi, tas vienkārši norāda modelim, kas jādara. Tas apstrādā visu biznesa loģiku un ienākošos pieprasījumus, manipulē ar datiem, izmantojot Modelis komponentu un mijiedarboties ar Skatīt lai padarītu gala rezultātu.

galvenā programma java

Skatīt:

The Skatīt komponents tiek izmantots visai lietojumprogrammas lietotāja interfeisa loģikai. Tas ģenerē lietotāja interfeisu. Skati tiek izveidoti, izmantojot modeļa komponenta apkopotos datus, taču šie dati netiek iegūti tieši, bet ar kontroliera starpniecību. Tas mijiedarbojas tikai ar kontrolieri.



Modelis:

The Modelis komponents atbilst visai ar datiem saistītajai loģikai, ar kuru lietotājs strādā. Tas var attēlot datus, kas tiek pārsūtīti starp View un Controller komponentiem, vai jebkurus citus ar biznesa loģiku saistītus datus. Tas var pievienot vai izgūt datus no datu bāzes. Tas atbild uz kontroliera pieprasījumu, jo kontrolieris pats nevar mijiedarboties ar datu bāzi. Modelis mijiedarbojas ar datu bāzi un nodod nepieciešamos datus atpakaļ kontrolierim.

MVC ietvara darbība ar piemēru:

Iedomāsimies, ka galalietotājs nosūta serverim pieprasījumu, lai iegūtu sarakstu ar skolēniem, kuri mācās klasē. Pēc tam serveris nosūtīs šo pieprasījumu konkrētajam kontrolierim, kas apstrādā studentus. Pēc tam šis kontrolieris pieprasītu modelim, kas apstrādā studentus, atgriezt sarakstu ar visiem skolēniem, kuri mācās klasē.

satriecoša valoda

Datu plūsma MVC komponentos

Modelis pieprasītu datubāzē visu studentu sarakstu un pēc tam atgrieztu šo sarakstu atpakaļ kontrolierim. Ja atbilde no modeļa bija veiksmīga, kontrolieris lūgs ar studentiem saistītajam skatam atgriezt studentu saraksta prezentāciju. Šajā skatā tiktu ņemts studentu saraksts no kontrollera un parādīts saraksts HTML formātā, ko var izmantot pārlūkprogramma.

Pēc tam kontrolieris paņems šo prezentāciju un atdod to atpakaļ lietotājam. Tādējādi pieprasījums beidzas. Ja agrāk modelis atgrieza kļūdu, kontrolieris šo kļūdu apstrādā, lūdzot skatam, kas apstrādā kļūdas, renderēt šīs konkrētās kļūdas prezentāciju. Šī kļūdu prezentācija tiks atgriezta lietotājam, nevis studentu saraksta prezentācija.

Kā redzams no iepriekš minētā piemēra, modelis apstrādā visus datus. Skats apstrādā visas prezentācijas, un kontrolieris vienkārši norāda modeli un skatu, kā rīkoties. Šī ir MVC ietvara pamata arhitektūra un darbība.

MVC arhitektūras modelis ļauj mums ievērot šādus projektēšanas principus:
1. Sadali un iekaro. Trīs komponentus var veidot atsevišķi.
2. Palielināt kohēziju. Komponentiem ir spēcīgāka slāņa kohēzija nekā tad, ja skats un kontrolleris būtu kopā vienā lietotāja saskarnes slānī.
3. Samaziniet savienojumu. Komunikācijas kanāli starp trim komponentiem ir minimāli un viegli atrodami.
4. Palieliniet atkārtotu izmantošanu. Skats un kontrolleris parasti plaši izmanto atkārtoti lietojamus komponentus dažāda veida lietotāja saskarnes vadīklām. Tomēr lietotāja saskarne kļūs specifiska lietojumprogrammai, tāpēc to nebūs viegli atkārtoti izmantot.
5. Dizains elastībai. Parasti ir diezgan viegli mainīt lietotāja interfeisu, mainot skatu, kontrolleri vai abus.

MVC priekšrocības:

  • Kodus ir viegli uzturēt, un tos var viegli pagarināt.
  • MVC modelis komponentu var pārbaudīt atsevišķi.
  • MVC komponentus var izstrādāt vienlaikus.
  • Tas samazina sarežģītību, sadalot lietojumprogrammu trīs vienībās. Modelis, skats un kontrolieris.
  • Tā atbalsta Testa virzīta attīstība (TDD).
  • Tas labi darbojas tīmekļa lietotnēm, kuras atbalsta lielas tīmekļa dizaineru un izstrādātāju komandas.
  • Šī arhitektūra palīdz pārbaudīt komponentus neatkarīgi, jo visas klases un objekti ir neatkarīgi viens no otra
  • Meklētājprogrammu optimizācija (SEO) Draudzīgs.

MVC trūkumi:

  • Šo modeli ir grūti lasīt, mainīt, pārbaudīt un atkārtoti izmantot
  • Tas nav piemērots nelielu lietojumu veidošanai.
  • Ņemot vērā datu piekļuves neefektivitāti.
  • Ietvara navigācija var būt sarežģīta, jo tā ievieš jaunus abstrakcijas slāņus, kas prasa lietotājiem pielāgoties MVC sadalīšanās kritērijiem.
  • Paaugstināta datu sarežģītība un neefektivitāte

Populāri MVC ietvari:

Tālāk ir norādītas dažas no populārākajām un plaši izmantotajām MVC ietvariem.

  • Ruby on Rails
  • Django
  • CherryPy
  • Pavasara MVC
  • Katalizators
  • Sliedes
  • Zend Framework
  • Degviela PHP
  • Laravels
  • Simfonija

MVC parasti izmanto lietojumprogrammās, kas darbojas vienā grafiskajā darbstacijā. Loģisko komponentu sadalījums nodrošina lasāmību un modularitāti, kā arī padara to ērtāku testēšanas daļai.