Interneto tinklapių architektūriniai šablonai/MVK: Skirtumas tarp puslapio versijų

Iš Wikibooks.
Ištrintas turinys Pridėtas turinys
Expert (aptarimas | indėlis)
SNėra keitimo santraukos
Expert (aptarimas | indėlis)
16 eilutė: 16 eilutė:


Naudodami MVK šabloną mes atskiriame kodą atsakingą už sistemos modelį, vaizdą ir kontrolę.
Naudodami MVK šabloną mes atskiriame kodą atsakingą už sistemos modelį, vaizdą ir kontrolę.

[[Image:MVK_schema.png]]


=== Modelis ===
=== Modelis ===

09:39, 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ę.

Vaizdas:MVK schema.png

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.