po prostu chcę wiedzieć, co jest rzeczywista różnica między MVC i MVC MODEL2 w rozwojuJaka jest rzeczywista różnica między MVC i MVC MODEL2
Odpowiedz
Aby zilustrować wcześniejsze odpowiedzi (oraz dodanie wyjaśnień od this article):
MVC2 jest abuse of language odnosząc się faktycznie do architektury JSP model 2, w przeciwieństwie do JSP model 1:
pierwsza technologia Java dla rozwoju po stronie serwera WWW była aplet.
Pisanie aplikacji za pomocą serwletów było bardzo podobne do pisania aplikacji CGI w Perlu w tym wszystkie dane wyjściowe musiały być zbudowane jako napisy z kodu Java.
To było bardzo uciążliwe i podatne na błędy. Bardzo utrudniało to projektantom stron internetowych bez doświadczenia w języku Java zmianę wyglądu i sposobu działania stron generowanych przez serwlety.
alt text http://www.javaworld.com/javaworld/jw-12-1999/images/MODEL1_sml.gif
Potem przyszedł JSP. Strony JSP, takie jak Microsoft ASP i podobne do popularnego języka skryptowego PHP, traktują wszystko jako tekst szablonu, ale umożliwiają wstawienie kodu Java do znaczników zwanych skryptletami i wyrażeń JSP.
Pozwoliło to na pracę z aplikacjami po stronie serwera, podobnie jak w innych popularnych językach skryptowych, ale miało kilka wad.
- Nie było rozdzielenia obaw.
- Jeden skrypt zawierałby kod bazy danych, logikę biznesową, znaczniki HTML i dowolny kod javascript potrzebny do końcowego renderowania strony.
- Ponowne użycie kodu było trudne, podobnie jak testy automatyczne.
To było znane jako programowanie JSP "Modelu 1".
MVC or the Model View Controller pattern była popularną techniką oddzielania różnych problemów w kodzie GUI wynalezionym przez Trygve Reenskaug, pracującym na Smalltalk dla Zerox.
W pewnym momencie stało się jasne, że ta technika może zostać dostosowana do aplikacji Java EE w celu osiągnięcia tego samego poziomu separacji.
Powoduje to zapisanie warstwy modelu jako fasoli lub zwykłych starych obiektów Java (POJO), użycie serwletów jako kontrolera, a następnie, po zakończeniu podnoszenia, przekazywanie do strony JSP w celu sformatowania i oznaczenia wyników.
Aplikacje serwletów/JSP napisane przy użyciu architektury MVC stały się znane jako programowanie JSP w Modelu 2.
alt text http://www.javaworld.com/javaworld/jw-12-1999/images/MODEL2_sml.gif
Ponieważ istniał ten wzór w innej formie przed użyciem w Servlet/JSP aplikacji, było czasami określane jako „MVC2”. Ta nazwa doprowadziła do pewnego zamieszania, ponieważ sugeruje, że istnieje MVC1 dla aplikacji serwletowych, których nie ma.
Wystarczy powiedzieć MVC.
Niż za podanie gooooooood ans, muszę zadowolić formularz ur odpowiedź –
@Ashvin Serdecznie zapraszamy – VonC
@VonC - Nie jest to dobry pomysł, aby skopiować bez podawania odniesienia. Podaj referencję w oryginalnym wpisie. Dzięki. –
Zabawny historyczny uwaga na warunkach ...
[Chciałabym znaleźć papier ... (Ja tylko starałem googlowania, ale bez powodzenia!)]
jakiś czas temu, ktoś napisał artykuł opisujący dwa podejścia MVC do aplikacji internetowych. W nim miał dwie postacie.
Napisy dotyczyły "modelu 1" i "modelu 2".
one nie były pomyślane jako rzeczywistych nazw wzorców (więcej jak „Rysunek 1” i „Rysunek 2”), ale ktoś ją przeczytać i pisał o nim tak, jakby to była nazwa wzór ...
(ktoś ma ref?)
VonC opisuje różnicę całkiem dobrze
Interesujące (+1). W zasadzie tylko kopiuję i przeformatowuję oraz artykuł javaworld. Odnosząc się do twojego komentarza, ta prezentacja (http://www.javapassion.com/j2ee/MVCPatternAndFrameworks.pdf) wspomina "MVC model 1" i "MVC model 2"! (ale może to być produkt uboczny twojego papieru, a nie faktyczny dokument, do którego się odwołujesz) – VonC
Arf, w tym "arkuszu odpowiedzi" (http://csdl.ics.hawaii.edu/~johnson/613s05 /613s05FinalAnswerKey.pdf), model MVC "1" jest zorientowany na aplikacje po stronie klienta, takie jak aplikacja GUI z interfejsem Swing . W tym przypadku cały kod aplikacji istnieje w pojedynczej wirtualnej maszynie wirtualnej na pojedynczym kliencie. Model MVC "2" jest zorientowany na kontekst aplikacji klienckiej klient-serwer, w którym użytkownik wysyła żądania HTTP do serwera. W przeciwieństwie do Modelu 1 architektura Modelu 2 wymaga implementacji pojedynczego serwletu , który działa jako kontroler i odbiera wszystkie żądania od przeglądarek po stronie klienta. – VonC
Ta prezentacja slajdów jest blisko, ale wywołuje Model 1/Model 2 tak, jakby były rzeczywistymi terminami ... "Model 2" nie jest tak naprawdę krokiem ewolucyjnym, jak to mówią; to tylko inna implementacja separacji modelu/interfejsu użytkownika. –
- 1. Jaka jest rzeczywista różnica między hurtownią danych i dużymi danymi?
- 2. Jaka jest różnica między <% # i <% = w ASP.NET MVC?
- 3. Dla MVC 4, jaka jest różnica między Microsoft.AspNet.Mvc i System.Web.Mvc?
- 4. Jaka jest różnica między Widok i PartialView w ASP.NET MVC?
- 5. Różnica między sprężyną JSP MVC i Thymeleaf MVC
- 6. Jaka jest różnica między tymi dwiema dyrektywami IgnoreRoute ASP.NET MVC?
- 7. Jaka jest różnica między Json i Jsonp?
- 8. Jaka jest różnica między JavaBeans i ManagedBean
- 9. Jaka jest różnica między? : i ||
- 10. Jaka jest różnica między $ i $$?
- 11. Jaka jest różnica między kontrolerem MVC a kontrolerem Web API w ASP.NET MVC 6?
- 12. Jaka jest różnica w ASP.NET MVC od RedirectToRoute i RedirectToAction?
- 13. Jaka jest różnica między Mustache.js, Handlebars.js i Underscore.js?
- 14. Jaka jest różnica między zwracaniem ModelAndView i zwracanym łańcuchem w Spring MVC?
- 15. Jaka jest różnica między implementacją FilterAttribute, IActionFilter i dziedziczeniem z ActionFilterAttribute w asp.net mvc 3?
- 16. Jaka jest różnica między Subtotal i BaseSubtotal?
- 17. Jaka jest różnica między DetachedCriteria i ICriteria
- 18. Jaka jest różnica między & # x00A0; i ?
- 19. Jaka jest różnica między lex i yacc
- 20. jaka jest różnica między dijit i dojo
- 21. Jaka jest różnica między Control.Select() i Control.Focus()?
- 22. Jaka jest różnica między System.Windows.Controls.Control i System.Windows.Forms.Control?
- 23. Jaka jest różnica między apletami i SWING?
- 24. Jaka jest różnica między session.commit() i session.flush()?
- 25. Jaka jest różnica między ImageView.setBackgroundResource i ImageView.setImageResource?
- 26. Jaka jest różnica między Konwertuj i parsuj?
- 27. Jaka jest różnica między JSP i JSTL?
- 28. Jaka jest różnica między Lazarus i CodeTyphon
- 29. Jaka jest różnica między crc32 i crc32b?
- 30. Jaka jest różnica między TypedArray.getInteger() i TypedArray.getInt()?
dobrym wyjaśnieniu można znaleźć w –
VolkerK
Wierzę, że te 2 linki zawierają rzeczywiste informacje, które próbujesz znaleźć: [Model1] (http://en.wikipedia.org/wiki/Model_1), [Model2] (http://en.wikipedia.org/wiki/M odel_2) –