Vra

Ek het gehoor hoe die term MVC (Model View Controller) die afgelope tyd met 'n ton Buzz rondgeslinger word, maar wat is dit regtig?

Was dit nuttig?

Oplossing

Jy wil dalk 'n blik op wat Martin Fowler te sê het oor MVC, MVP en UI argitektuur in die algemeen by Martin voëlvangers webwerf .

Ander wenke

Ek hou hierdie artikel deur Martin Fowler. Jy sal sien dat MVC is eintlik min of meer dood, streng gesproke, in sy oorspronklike domein van ryk UI ontwikkeling. Die onderskeid tussen View en Kontroleur nie van toepassing op die meeste moderne UI hulpmiddels.

Die term lyk nuwe lewe te gevind het in web ontwikkeling sirkels onlangs. Ek is nie seker of dit werklik MVC al is, of net weer die gebruik van die naam vir 'n paar nou verwant maar subtiel verskillende idees.

MVC is 'n ontwerp patroon oorspronklik pionier in die ou dae van Smalltalk.

Die konsep was dat 'n model van jou aansoek toestand en logika sou verteenwoordig, en beheerders sou IO hanteer tussen "Views".

'n siening is 'n voorstelling van die staat in die model. Byvoorbeeld, kan jou model 'n spreadsheet dokument wees, en jy kan 'n oog wat dit verteenwoordig as 'n sigblad en 'n oog wat dit verteenwoordig as 'n spilpunt tafel het.

Moderne MVC is besoedel met vals MVC web rommel, so ek sal toelaat dat ander antwoord wat.

As die etiket op jou vraag stel sy 'n ontwerp patroon. Maar dit waarskynlik jou nie help nie. Basies wat dit is, is 'n manier om jou kode te organiseer in logiese groepe wat die verskillende stukke te hou skei en maklik aanpas.

Vereenvoudiging: Model = Data struktuur / Besigheid Logic Kyk = Uitset laag (d.w.z HTML-kode) Kontroleerder = Boodskap oordrag laag

Wanneer mense praat oor MVC wat hulle praat is die verdeling van daar-kode in hierdie logiese groepe om dit skoon en gestruktureerde, en hopelik losweg gekoppel te hou. Deur hierdie ontwerp patroon moet jy in staat wees om programme wat kan hê daar Kyk heeltemal verander in iets anders te bou sonder dat hulle ooit om jou kontroleerder of model (dit wil sê die oorskakeling van HTML vir RSS) raak.

Daar is tonne en tonne van tutoriale daar buite net Google vir dit en ek is seker jy sal opdaag ten minste een wat dit in terme sal verduidelik dat klik met jou.

Hier is 'n naïewe beskrywing van MVC: http: // www.devcodenote.com/2015/04/mvc-model-view-controller.html

'n uittreksel:

Definisie: Dit is 'n ontwerp patroon wat 'n aansoek in verskeie lae van funksies skei

.

Die lae:

Model Verteenwoordig data. Dit dien as 'n skakeling tussen die databasis en die aansoek (soos 'n data voorwerp). Dit sal hanteer validations, verenigings, transaksies, ens.

Controller Dit versamel en verwerk data. Hanteer kode wat data seleksie en data messaging doen.

View Uitstallings uitset na die gebruikers.

Wikipedia lyk dit die beste tot dusver beskryf:

http://en.wikipedia.org/wiki/Model-view-controller

Model-oog-kontroleerder (MVC) is 'n argitektoniese patroon gebruik in sagteware-ingenieurswese. Suksesvolle gebruik van die patroon isoleer besigheid logika van gebruikerskoppelvlak oorwegings, wat lei tot 'n aansoek waar dit makliker is om óf die visuele voorkoms van die aansoek of die onderliggende besigheid reëls sonder dat die ander te verander. In MVC, die model verteenwoordig die inligting (data) van die aansoek en die maatskappy reëls wat gebruik word om die data te manipuleer; die oog ooreenstem met elemente van die gebruikerskoppelvlak soos teks, boks items, en so meer; en die kontroles beheer besonderhede met betrekking tot die kommunikasie aan die model van gebruiker aksies soos toetsaanslagen en muis bewegings

Die MVC of Model-View-Controller Gebruikerskoppelvlak Paradigm is die eerste keer beskryf deur Trygve Reenskaug van die Xerox PARC. In die eerste keer verskyn in die gedrukte media in Byte tydskrif volume 6, nommer 8, in Augustus van 1981.

Dit Wat is MVC blog artikel oor OReilly het u gedek.

MVC is 'n sagteware-argitektuurpatroon wat voorstelling van gebruikersinteraksie skei.Oor die algemeen bestaan ​​die model uit toepassingsdata en funksies wat daarmee in wisselwerking is, terwyl die aansig hierdie data aan die gebruiker aanbied;die beheerder bemiddel tussen die twee.

MVC ontwerp patroon:

4 dele = Gebruiker, View, Controller, Model.

Gebruiker:  -. Sien die View en maak gebruik van die Kontroleur

Model:  -. Hou die data en updates die model wat daar is nuwe data / staat

View:  -. Vertoon die data wat die model

Controller:  - neem die versoek van die gebruiker om inligting te kry of 'n stel, dan kommunikeer met óf die View of Model, resp.  - dit "kry" via die vertoning.  -. Dit "stelle" via die Model

Dit is 'n manier van die skeiding van die onderliggende funksie van jou aansoek (model) van die manier waarop dit in wisselwerking met die gebruiker (uitsig). Die beheerder koördineer hoe die model en die lig praat met mekaar.

Terwyl dit is al die woede op die oomblik, is dit belangrik om te onthou dat die voorkoming van die model self in staat is om te bepaal presies hoe sy data word aangebied aan die gebruiker kan gesien word as 'n negatiewe ding. Die mees ooglopende voorbeeld is met HTML. Die oorspronklike bedoeling van HTML is dat daar 'n duidelike skeiding van die model (HTML) van die oog (gelewer webblad) via 'n kontroleerder (die leser) moet wees. Daar is so 'n teenreaksie teen hierdie oorspronklike voorneme dat blaaiers gekritiseer as hulle nie maak 'n bladsy pixel perfekte aan die ontwerper se gewenste oog nie.

MVC is 'n manier om 'n gebruikerskoppelvlak element partisie in 3 verskillende konsepte. Die model is die data waarop die koppelvlak bedryf. Die uitsig is hoe die element visueel voorgestel word (of miskien hoorbaar?). Die kontroles is die logika wat bedryf op die data.

Byvoorbeeld, as jy 'n paar teks wat jy wil om te manipuleer in 'n UI. 'N Eenvoudige string kan die data voor te stel. Die siening kan 'n teks veld wees. Die kontroles is die logika wat insette vertaal uit die gebruiker - sê karakter of muis insette -. En maak veranderinge aan die onderliggende data model

Soos baie reeds gesê, MVC is 'n ontwerp patroon. Ek onderrig een van my kollegas nou en het dit verduidelik hierdie manier:

M odelle - Die toegang data laag. Dit kan direkte toegang tot die inligting, web dienste, ens wees

V iews -. Die aanbieding laag van jou aansoek

C ontrollers - Dit is die besigheid logika vir jou aansoek

.

Hierdie patroon verhoog-toets gedryf ontwikkeling.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top