Modelo-vidigilo-regilo: Malsamoj inter versioj
[nekontrolita versio] | [nekontrolita versio] |
e r2.6.4) (robota modifo de: no:Model–view–controller |
e r2.6.4) (robota modifo de: ca:Model-View-Controller |
||
Linio 28: | Linio 28: | ||
[[bg:Model-View-Controller]] |
[[bg:Model-View-Controller]] |
||
[[ca: |
[[ca:Model-View-Controller]] |
||
[[cs:Model-view-controller]] |
[[cs:Model-view-controller]] |
||
[[de:Model View Controller]] |
[[de:Model View Controller]] |
Kiel registrite je 01:15, 24 jul. 2011
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 povas esti verkitaj, plibonigitaj aŭ anstataŭigita sendepende.
Eksteraj ligiloj
greke http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html greke http://www.apache.org/licenses/LICENSE-2.0.html greke http://c2.com/cgi/wiki?ModelViewControllerAsAnAggregateDesignPattern greke http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html