Interneto tinklapių architektūriniai šablonai/Vaizdo pagalbininkas

Iš Wikibooks.


Vaizdo pagalbininko architektūrinis šablonas

Kontekstas[keisti]

Vaizdo komponente turime daug kodo, nesusijusio su HTML ar kitokios prezentacijos formavimu. Kai vaizdo kodas, paimantis duomenis iš modelio, gali dubliuotis arba dubliuojasi keliuose vaizdo komponentuose.

Problema[keisti]

Vaizdo komponentas pasidaro sunkiai suprantamas ir keičiamas dėl to, kad jame kodas, atsakingas už HTML kodo ar kitokios prezentacijos formavimą, persipynęs su veiksmais, atsakingais už duomenų paėmimą iš modelio. Keliuose vaizdo komponentuose duomenų paėmimo iš modelio kodo dalys dubliuojasi (šios problemos gali ir nebūti, bet jei ji yra, tada šio šablono naudojimo privalumai didesni).

Sprendimas[keisti]

Sukuriame papildomus objektus, kurie tarpininkauja tarp vaizdo komponento ir modelio komponento. Vaizdo komponentas gali kreiptis į modelio komponentą ir tiesiogiai, be vaizdo pagalbininko pagalbos. Šis šablonas labai panašus į dviejų žingsnių vaizdo šabloną, tačiau kodas, atsakingas už duomenų paėmimą iš modelio iškeltas iš vaizdo. Tai leidžia pasikartojantį kodą iškelti iš vaizdo komponentų.

Rezultatai[keisti]

  • Paprastesnis vaizdo komponentų kodas
  • Sumažintas kodo dubliavimasis vaizdo komponentuose