Modelo-vidigilo-regilo: Malsamoj inter versioj

El Vikipedio, la libera enciklopedio
[nekontrolita versio][nekontrolita versio]
Enhavo forigita Enhavo aldonita
AlleborgoBot (diskuto | kontribuoj)
e roboto modifo de: ru:Model-view-controller
SieBot (diskuto | kontribuoj)
e roboto aldono de: tr:Model-view-controller
Linio 44: Linio 44:
[[ru:Model-view-controller]]
[[ru:Model-view-controller]]
[[sv:Model-View-Controller]]
[[sv:Model-View-Controller]]
[[tr:Model-view-controller]]
[[uk:Модель-представлення-контролер]]
[[uk:Модель-представлення-контролер]]
[[zh:MVC]]
[[zh:MVC]]

Kiel registrite je 22:10, 4 nov. 2007

MVC estas angla mallongigo por model-view-controller, t.e., modelo-vidigilo-regilo. Ĝi 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, C++ kaj Ĝavo. MVC estas la kutima skemo por grafikaj interfacoj kaj TTT-ejo de JSP.

MVC disigas problemon 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 MVC: ĝ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 MVC estis la etapoj Enigado/Procezado/Eligado de tradicia programo:

Enigado -> Procezado -> Eligado
Regilo -> Modelo-> Vidigilo

MVC 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