Kom ihåg mig?

Javascript MVC-upplägg?

 
Ämnesverktyg Visningsalternativ
Oläst 2010-10-18, 17:32 #1
Nihilnovi Nihilnovi är inte uppkopplad
Medlem
 
Reg.datum: Jun 2008
Inlägg: 233
Nihilnovi Nihilnovi är inte uppkopplad
Medlem
 
Reg.datum: Jun 2008
Inlägg: 233
Model och view ska inte ha med varandra att göra alls i MVC.

Controllern ska skicka info till model som den behöver för att hämta det som applikationen ska ha.

Modeln skickar denna information till Controllern, denna ska då kolla om det är rätt info och möjligtvis utföra nån slags operation på den innan den skickas till viewen. Viewen ska BARA visa informationen, absolut inte utföra någon slags logik på den.

Var javascript har sin plats i det hela är en smaksak. Vad jag själv gör är ett ajax anrop med ett ID och operation som ska utföras på detta ID till en controller. Denna granskar då vad som ska göra och om ny data från modeln behövs för att utföra denna information så ordnar den det innan resultat skickas tillbaka till viewen.

Controller = logik
Model = springpojke (ingen logik)
View = det användaren ser som et resultat av vad controllern bestämmer baserad på informationen den får

Dock så måste jag påpeka att det finns lika många tolkningar på MVC som det finns hemsidor på nätet, detta är bara min tolkning =)
Nihilnovi är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-10-19, 10:40 #2
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Citat:
Ursprungligen postat av Nihilnovi Visa inlägg
Model och view ska inte ha med varandra att göra alls i MVC.
Visst, detta har jag förstått

Bara för att förtydliga: Denna tråd gäller alltså en MVC-struktur i Javascript.
Model, View och Controller är alltså javascript-objekt/klasser.

Citat:
Controllern ska skicka info till model som den behöver för att hämta det som applikationen ska ha.
Detta är så som jag har det nu...
En metod i controllern som anropar Model.getData() som returnerar informationen till controller.


Citat:
Modeln skickar denna information till Controllern, denna ska då kolla om det är rätt info och möjligtvis utföra nån slags operation på den innan den skickas till viewen. Viewen ska BARA visa informationen, absolut inte utföra någon slags logik på den.
Precis. När controllern får svar från Model skickar den informationen till View för presentation.

Citat:
Var javascript har sin plats i det hela är en smaksak.
Nja, hela MVC-applikationen är skriven i Javascript så det är ingen smaksak

Citat:
Vad jag själv gör är ett ajax anrop med ett ID och operation som ska utföras på detta ID till en controller.
I mitt fall är det min Model som gör ett AJAX-anrop (vid behov).
Citat:
Denna granskar då vad som ska göra och om ny data från modeln behövs för att utföra denna information så ordnar den det innan resultat skickas tillbaka till viewen.
Detta gäller ju AJAX-servern (t.ex. i PHP) så det är inte aktuellt i mitt fall.
MVC i PHP har jag koll på :-)

Citat:
Controller = logik
Model = springpojke (ingen logik)
View = det användaren ser som et resultat av vad controllern bestämmer baserad på informationen den får
Indeed!

Citat:
Dock så måste jag påpeka att det finns lika många tolkningar på MVC som det finns hemsidor på nätet, detta är bara min tolkning =)
Visst finns det många tolkningar.
Jag hittade denna artikeln som beskriver det hela på ett ganska bra sätt.
http://www.alistapart.com/articles/javascript-mvc/

--

Hur det blev till slut:
Controller anropar Model att hämta data.
Controller behandlar datan och skickar till View för presentation.

I ett formulär ändras informationen för en markerad post:
Controller.update anropas.
Controller anropar Model.update(id,data) för att spara.
Controller anropar View.update(id,data) för att visa ändringen.
qson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-10-21, 22:21 #3
dAEks avatar
dAEk dAEk är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Dec 2006
Inlägg: 678
dAEk dAEk är inte uppkopplad
Mycket flitig postare
dAEks avatar
 
Reg.datum: Dec 2006
Inlägg: 678
Citat:
Ursprungligen postat av Nihilnovi Visa inlägg
Controller = logik
Model = springpojke (ingen logik)
View = det användaren ser som et resultat av vad controllern bestämmer baserad på informationen den får

Dock så måste jag påpeka att det finns lika många tolkningar på MVC som det finns hemsidor på nätet, detta är bara min tolkning =)
Normalt brukar man säga att (C)ontrollern är som en trafikpolis/dirigent. C gör inget arbete själv utan ser till att indata/anrop är i rätt format, kopplar ihop dem med en (M)odell som sedan gör jobbet (affärslogiken). När M sedan är klar och returnerar data till C dirigeras den (datan) vidare till lämplig View.

Namnen Model, View och Controller förklarar sig själva ganska bra. Att säga att logiken skall göras i Controllern och inte i Modellen tycker jag tyder på att man har en helt felaktig bild av hur MVC-mönstret funkar.
dAEk är inte uppkopplad   Svara med citatSvara med citat
Svara

Taggar
controller, javascript, model, mvc, view


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 10:06.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017