MVC mājas lapas arhitektūra

By   March 2, 2015

MVCModel-View-Controller ir veids, kā organizēt savu kodu, lai apslēptu tā sarežģītību un uzturētu saistītu kodu. Tas sadala web aplikāciju trīs galvenajās sadaļās: modelis, kontrolieris un skats. Modelis nodrošinat visas darbības ar datubāzi, kontrolieris nodrošina visas darbības ar web serveri, skats ģenerē HTML kodu, kas tiek attēlots pārlūkprogrammā. Izmantojot MVC arhitektūru savās aplikācijās, padara sarežģītas web aplikācijas viegli izpildāmas. Ja izveidota pareizi, Rails MVC aplikācijā kontrolierī nekad nebūs kods, kas piekļūs datu bāzei un skats nekad nesadarbosies ar web serveri.

Modelis

Modelis pārstāv aplikācijas informāciju (datus) un noteikumus, kā manipulēt ar šiem datiem. Rails gadījumā, modelis tiek pārsvarā izmantots, lai pārvāldītu noteikumus, kas vajadzīgi, lai savstarpēji sadarbotos ar atbilstošo datu bāzes tabulu. Lielākajā daļā gadījumu, katra tabula datubāzē, atbildīs vienam web aplikācijas modelim. Modeļa sadaļa Ruby kodā atbild par objektu glabāšanu un iegūšanu no datu bāzes, kā arī nodrošina šo datu pareizumu un precizitāti. Kā, piemēram, ja tiek mēģināts saglabāt produktu ar negatīvu cenu, Modeļa kodam jāpārbauda šī pretruna un jānoraida datu saglabāšana datubāzē, līdz problēma tiek atrisināta.

Kontrolieris

Kontrolieris MVC ietvarā atrodas starp modeli un skatu. Vienkāršākajā formā, kontrolieris ir atbildīgs par ienākošo pārlūkprogrammas pieprasījumu izpildi, iegūstot objektus no datubāzes izmantojot Modeli no tālak tos nodod Skatam, kurš tos izpilda. Kontrolierim ir tieša piekļuve web severim un sesijas mainīgajiem. Kontrolierim ir dažādas darbības, ko aplikācija var izpildīt, kā, piemēram, pievienot jaunus produktus vai apskatīt visus produktus. Kontrolieris arī ir web-lapas galvenais dzinis. Kontrolieru parasti ir daudz, jo katrs atbild par kādas konkrētas web-lapas daļas apstrādi. Tas padara lapas tehnisko uzbūvi saprotamāku. Kontrolierī raksta funkcijas, kas iegūst, apstrādā datus no modeļiem un parāda tos skatos.

Skats

Skats atspoguļo lietotāja saskarsni aplikācijā. Rails skati parasti ir HTML faili ar iestrādātu Ruby kodu, kas izpilda uzdevumus, kas attiecas tikai uz datu un informācijas attēlošanu. Skati paņem datus, kas tiem tiek nodoti no Kontroliera un izveido HTML kodu web pārlūkprogrammai. Visa formatēšana un stili norisinās skatā, dodot iespēju Modelim un Kontrolierim koncentrēties uz to galvenajiem uzdevumiem. Ruby kods HTML skatā parasti tiek ietverts tagos <%%>. Skatā ir pieejami mainīgie, kas tiek definēti kontrolierī.