MVC jest dość proste.
Być może Martin Fowler nie zgodziłby się z tym :
Różni ludzie czytający o MVC w różnych miejscach biorą z niego różne pomysły i opisują je jako „MVC”.
Iść dalej...
Kiedy tworzymy stronę internetową, wszystko się łączy, gdy „klient wysyła żądanie słowa kluczowego REST do serwera -> serwer dopasowuje żądany adres URL do działania kontrolera -> który następnie wywołuje model (y) do gromadzenia / przetwarzania danych, uzyskuje wynik -> i zwraca wynik z powrotem do klienta jako stronę HTML (widok) ”.
OK, to trochę plątanina
MVC, cokolwiek to jest, to zbiór pomysłów na implementację interfejsów użytkownika.
REST to zbiór ograniczeń architektonicznych do tworzenia aplikacji na dużą skalę.
Internet, o którym tu mówisz, to gigantyczna aplikacja do zarządzania dokumentami zbudowana przy użyciu większości tych samych ograniczeń.
Podobieństwa, które widzisz między nimi, są (wybierz) niepoprawnie przypisane lub powierzchowne.
RESTafarianie mają wspólne rozumienie HATEOAS , „hipertekstu jako silnika stanu aplikacji”, i to powinno wysyłać alarmy dzwoniące przez twoją głowę - dlaczego widok miałby być silnikiem stanu ? Jeśli kwestionujemy tę przesłankę i szukamy dodatkowych dowodów, możemy również zauważyć dwie dziwne rzeczy.
Po pierwsze, że możemy całkowicie usunąć serwer HTTP z równania, ładując HTML z dysku. Przeglądarka jest z tego całkowicie zadowolona, usprawiedliwiając niewielkie zmiany w zachowaniu, które mogą wynikać ze zmiany podstawowego adresu URL. Widoki zwykle nie działają, gdy zostały całkowicie odłączone od modelu i kontrolera w ten sposób.
Po drugie, jeśli uważnie obserwujemy nowoczesną przeglądarkę, zauważymy, że istnieje wiele widoków HTML. Wiele widoków widoku wydaje się naprawdę dziwnym pomysłem, ale na pewno jest główna prezentacja z dużą ilością znaczników tekstowych, które reagują na gesty użytkownika, a następnie jest to „Widok źródłowy”, który pokazuje surowy HTML, a także reaguje na gesty użytkownika. Żółwie do samego końca!
Odpowiedzią na zagadkę jest oczywiście to, że HTML nie jest widokiem. Zbiór widżetów w przeglądarce to widok, który komunikuje się z Document Object Model , który został zainicjowany przez odczyt HTML.
Innymi słowy, HTML jest reprezentacją stanu, tak jak obiecał Roy T. Fielding .
Co jeśli mówimy o czystej usłudze sieciowej RESTful API ...? Tak jak poprzednio, ale nie ma „widoku”
Bardziej poprawnie, tak jak poprzednio: nie ma widoku. JSON, podobnie jak HTML, jest reprezentacją stanu, odpowiednią do przekraczania granic procesu.
Pomyśl „DTO” lub „Wiadomość”, a twoje wnioski będą o wiele mniej prawdopodobne, by cię sprowadzić na manowce.