Interneto tinklapių architektūriniai šablonai/MVK: Skirtumas tarp puslapio versijų
Nėra keitimo santraukos |
SNėra keitimo santraukos |
||
1 eilutė: | 1 eilutė: | ||
[[Category:ITAS]] |
[[Category:ITAS]] |
||
'''Modelis-Vaizdas-Kontroleris architektūrinis šablonas''' |
|||
== Kontekstas == |
== Kontekstas == |
09:36, 22 gegužės 2005 versija
Modelis-Vaizdas-Kontroleris architektūrinis šablonas
Kontekstas
Programoje galima logiškai išskirti tokias atskiras dalis, kaip dalykinės srities logika, prezentacija ir naudotojo galimi su sistema veiksmai. Žmonės ar priemonės puikiai tinkantys dirti su viena sritimi, nelabai yra tinkami dirbti kitoje srityje. Dažnai vieni žmonės kuria puslapių dizainą ir HTML kodą, tačiau kiti – programos dalį, atsakingą už verslo srities logiką. Taip pat ir įrankiai dažniausiai yra specializuoti.
Problema
Reikia struktūrizuoti programos kodą taip, kad naudotojo sąsajos kodas, užklausų mechanizmo kodas bei dalykinės srities logikos kodas būtų lengvai keičiamas ir testuojamas atskirai bei būtų galima paskirti atskirus darbus skirtingiems žmonėms. Pvz. kai Java kodas, atsakingas už verslo transakcijas persipynęs su kodu generuojančiu HTML, prireikus pakeisti HTML kodą, dažnai tai pakankamai sunkus darbas.
Sprendimas
Naudodami MVK šabloną mes atskiriame kodą atsakingą už sistemos modelį, vaizdą ir kontrolę.
Modelis
Modelis yra duomenų, taisyklių, metodų prieiti prie duomenų ir juos keisti rinkinys. Modelis saugo aplikacijos būseną. Atsako į užklausas apie būseną. Pateikia metodus būsenai keisti ir valdyti aplikaciją. Trumpiau būtų galima sakyti, kad modelis yra viskas, kas susiję su dalykinės srities ar verslo logika. Modelis yra nepriklausomas nuo kontrolerio ir vaizdo komponentų.
Vaizdas
Atsako už modelio pavaizdavimą naudotojui. Naudojasi modeliu. Vaizdo komponentas dažniausiai pateikia rezultatą HTML kodo pavidalu. Remiasi modeliu.
Kontroleris
Naudotojo komandas ar užklausas perduoda modeliui, bei parenka reikalingą vaizdą. Apibrėžia aplikacijos veiksmus(veiksmus, kuriuos gali atlikti naudotojas), suriša naudotojo veiksmus su atitinkamais modelio veiksmais. Ši dalis yra atsakinga už visą darbą su interneto protokolu ir gautų užklausų apdorojimą. Priklausomas nuo modelio ir vaizdo komponentų.
Rezultatai
- Tas pats modelio komponentas gali būti panaudojamas keliose vietose.
- Lengviau testuoti atskiras dalis.
- Lengviau keisti atskiras dalis.
- Kontrolerio ir vaizdo komponentams lengviau pritaikomos kodo generavimo ir konfigūracijos valdymo priemonės.