Modelo-Vidigilo-Regilo aŭ MVR (angle: model-view-controller) estas desegna skemo por komputila programo. Smalltalk-80 enkondukis la paradigmon por strukturi la grafikan interfacon de programoj. La tekniko taŭgas por iu ajn lingvo de objektema programado ekzemple PHP, Rubeno sur Reloj, C++ aŭ Ĝavo. MVR estas la kutima skemo por grafikaj interfacoj kaj TTT-ejo de JSP.
La MVR desegna skemo disigas la problemojn en tri specojn de objektoj:
- modelo: enhavas la ĉefan datumon de la programo. Ĝi povas respondi al demandoj pri la datumo kaj ŝanĝi ĝin. Ĝi scias nenion pri la vidigilo aŭ regilo. Kutime ĝi modelas la staton de io en la reala mondo, po unu modelo per objekto en la reala mondo.
- vidigilo: montras la nunan staton de la modelo. Vi povas havi multajn, malsamajn vidigilojn de la sama modelo. La vidigilo demandas de la modelo ĝian staton, sed ne povas ŝanĝi ĝin (tio estas tasko de la regilo).
- regilo: ricevas enigon el la uzanto kaj transsendas ĝin al la modelo aŭ al la vidigilo. Per la regilo la uzanto povas ŝanĝi la modelon aŭ sian vidigilon.
Termostato estas ekzemplo de MVR: ĝi montras la nunan temperaturon (la vidigilo), havas ilon por ŝanĝi la temperaturon (regilo), kaj enhavas termometron por modeli la temperaturon (modelo).
La inspiro por la kreado de Modelo-Vidigilo-Regilo estis la etapoj Enigado/Procezado/Eligado de tradicia programo:
Enigado -> Procezado -> Eligado
Regilo -> Modelo-> Vidigilo
MVR simpligas la problemon per tia disigo. La tri partoj eblas esti verkitaj, plibonigitaj aŭ anstataŭigitaj sendepende.
Eksteraj ligiloj
- http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html
- http://www.apache.org/licenses/LICENSE-2.0.html
- http://c2.com/cgi/wiki?ModelViewControllerAsAnAggregateDesignPattern
- Universitato de Ilinojso ĉe Urbana–Champaign: http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html Arkivigite je 2009-08-01 per la retarkivo Wayback Machine