Trudno jest mi objąć ramy Javy MVC, gdy wygląda na to, że Serwlety, JSP i lekkie DAO wykonają prawie wszystko, co jest potrzebne, aby oddzielić kontrolery/widoki/modele. W przypadku PHP widzę konieczność, ponieważ nie ma żadnych wbudowanych konstrukcji, takich jak serwlety, ale czy platformy Java MVC naprawdę dają Tobie dużo więcej?Po co używać szkieletu MVC, gdy serwlety, strony JSP i lekka warstwa DAO będą działały?
Odpowiedz
Jednym z obszarów, w którym serwlety/JSP są nieco słabe, jest testowalność. Chociaż z pewnością możliwe jest testowanie serwletów testowych za pomocą makiet, nie mają one poczucia, że zostały zaprojektowane z myślą o testach jednostkowych. JSP są jeszcze trudniejsze. Możesz polegać na testach funkcjonalnych ala Selenium, ale w dzisiejszych czasach ludzie chcą mieć zasięg testów jednostkowych. Niektóre z bardziej nowoczesnych frameworków Java MVC dają łatwiejsze do sprawdzenia jednostki kodu.
Ogólnie rzecz biorąc, masz rację, że zwykły stary stos Tomcat z bazą danych MySQL wykonuje swoją pracę.
Większość frameworków internetowych usuwa abstrakcyjne szczegóły. Na przykład: Wicket, Tapestry i JavaServer Faces umożliwiają myślenie w kategoriach komponentów (np. Przycisków, etykiet, listy rozwijanej itp.) Zamiast protokołów http. Nawet platformy sieciowe zorientowane na działanie, takie jak Spring MVC i Struts, zapewniają wyższy poziom niż zastosowane technologie.
Dodatkową korzyścią dla tych frameworków są dodatkowe możliwości, takie jak Ajax, Comet, integracja ze strukturami trwałości, która działa po wyjęciu z pudełka.
Oczywiście, jak zauważył Asaph, ramy sieciowe są zwykle łatwiejsze do przetestowania.