Interneto tinklapių architektūriniai šablonai/Vaizdo pagalbininkas


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