Logo pl.removalsclassifieds.com

Różnica między MVC i MVC2 (z tabelą)

Spisu treści:

Anonim

Jeśli jest jakiś problem w tworzeniu oprogramowania, to jego wzorzec projektowy jest głównym rozwiązaniem tego problemu. Są jak wstępnie zdefiniowane plany, których używamy do rozwiązywania problemów projektowych zorientowanych obiektowo w Twoim projekcie. Najpierw dowiaduje się, gdzie jest problem, a następnie go naprawia, a także opisuje procedurę i jej konsekwencje. MVC i MVC2 to dwa różne podejścia do słynnego wzorca architektury MVC (Model View Controller).

MVC vs MVC2

Różnica między MVC i MVC2 polega na tym, że MVC jest modelem projektowania aplikacji składającym się z trzech połączonych ze sobą części, podczas gdy MVC2 jest bardziej złożonym wzorcem, w którym odbywa się rozdzielenie stanu aplikacji i logiki sterowania prezentacją. MVC obejmuje model (dane), widok (interfejs użytkownika) i kontroler (żądanie procesów). Główną różnicą między MVC i MVC2 jest złożoność. W aplikacjach internetowych w świecie Java dwa popularne modele projektowe (Model 1 i Model 2) są blisko spokrewnione z MVC i często są błędnie określane jako MVC1 (lub po prostu MVC) i MVC2.

MVC było podejściem pierwszej generacji w aplikacjach internetowych Java, w którym strony JavaServer Page (JSP) były używane do interfejsu użytkownika wraz z JavaBeans, które mogły hermetyzować wiele obiektów w jednym obiekcie w celu zaimplementowania architektury MVC. Żądania użytkownika z przeglądarki są wysyłane do JSP, który przechowuje logikę kontrolera i wiąże Model dla danych, które aktualizują widok i wysyłają odpowiedź z powrotem do użytkownika, który jest wyświetlany w interfejsie użytkownika. Takie podejście łączy funkcje kontrolera i widoku na stronie JSP, a zatem łamie paradygmat MVC.

MVC2 został wprowadzony przez Sun Microsystem org jako wzorzec projektowy, który nie łamie paradygmatu MVC, w przeciwieństwie do MVC, gdzie logika biznesowa została oddzielona od widoków, a wszystkie żądania klientów były obsługiwane w jednym miejscu, a nie w każdym pliku JSP w MVC. We wzorcu MVC2 JSP jest zastąpione przez serwlety dla logiki kontrolera.

Tabela porównawcza między MVC i MVC2

Parametr porównania

MVC

MVC2

Definicja

W MVC pojedynczy składnik odpowiada za odbieranie żądań i wysyłanie odpowiedzi. W MVC2 istnieje wiele komponentów do odbierania żądań i wysyłania odpowiedzi. tj. Kontroler i widok.
Nawigacja

W MVC każda strona JSP ma kontroler i logikę widoku, która określa nawigację po następnej stronie widoku, która powoduje jej redystrybucję W MVC2 serwlet zawiera logikę nawigacji następnej strony widoku, co czyni go scentralizowanym
Czasochłonne

Zajmuje więcej czasu napisanie kodu w celu opracowania niestandardowych tagów JSP, aby uniknąć tagowania scriptlet Opracowanie zajmuje mniej czasu, ponieważ cała kontrola nawigacji jest scentralizowana.
Niezależność

Logika biznesowa i prezentacja Logika jest połączona w JSP, więc projektanci stron internetowych i programiści stron internetowych nie mogą pracować jednocześnie. Ponieważ ma separację między logiką a widokiem, dlatego projektant i programista mogą ze sobą współpracować.
Możliwość ponownego wykorzystania

Trudniej jest ponownie wykorzystać i rozszerzyć ze względu na ścisłe sprzężenie między logiką a poglądem Jest łatwy do ponownego użycia i rozbudowy, co nadaje się do większych zastosowań

Co to jest MVC?

MVC to architektoniczny wzorzec projektowy dla powtarzających się problemów projektowania oprogramowania, który zapewnia podejście do rozwiązania na wysokim poziomie. Architektura MVC składa się z trzech modułów: modelu, widoku i kontrolera.

Model: Reprezentuje stan danych (które są wyświetlane użytkownikowi na stronie widoku).

Pogląd: Moduł widoku to interfejs użytkownika, przez który użytkownik wykonuje akcję i wewnętrznie komunikuje się z serwerem.

Kontroler: Moduł kontrolera przetwarza żądanie użytkownika, logikę biznesową i za pomocą modelu manipuluje danymi, które są wyświetlane w interfejsie użytkownika.

MVC rozpoczyna się od akceptacji przez JSP żądania klienta, które współpracuje z JavaBeans dla logiki przetwarzania danych, która jest wysyłana do klienta. Zadanie jest podzielone między JavaBeans i JSP, gdzie JSP wywołuje JavaBeans i logikę biznesową, w której JavaBeans wewnętrznie wywołuje bazę danych w celu zapisania/pobrania danych. Na koniec JSP odsyła odpowiedź do klienta, który aktualizuje widok w przeglądarce.

JavaBeans, które są również określane jako Beans, są odpowiedzialne za enkapsulację wielu obiektów w pojedynczy obiekt, podczas gdy JSP ma zarówno logikę kontrolera, jak i widoku. MVC jest również określany jako skoncentrowany na stronie ze względu na bezpośredni dostęp do innej strony widoku, która jest idealna dla mniejszych aplikacji.

Co to jest MVC2??

Większość inżynierów oprogramowania uważa, że ​​MVC2 jest ulepszoną wersją MVC, taką jak wersja 2.0; tak nie jest. Model 1 i Model 2 zostały opracowane równolegle i są dwoma wariantami tego, jak należy to robić.

MVC2 to bardziej złożony wzorzec, w którym odbywa się rozprzęganie stanu aplikacji i logiki sterowania prezentacją. Ma kontroler, w którym napisano logikę do przetwarzania wszystkich przychodzących żądań i wymaganych działań, które należy podjąć, takich jak nawigacja do innej strony widoku lub aktualizacja stanu modelu.

Tutaj, w MVC2, serwlet działa jako warstwa kontrolera, która jest również interfejsem między warstwą widoku a warstwą modelu, w którym otrzymuje żądanie od klienta lub interfejsu użytkownika, który jest niczym innym jak warstwą widoku i w razie potrzeby przetwarza je z odpowiednią walidacją. JSP posiada logikę widoku, która wewnętrznie wykorzystuje ziarna, więc jeśli aplety zaktualizują stan modelu, zostanie to odzwierciedlone na stronie widoku.

W przeciwieństwie do MVC, JSP w MVC2 nie ma zarówno kontrolerów, jak i logiki widoku; jego wyłączną odpowiedzialnością jest pobranie zaktualizowanego stanu modelu z tego apletu w celu wyświetlenia na stronie widoku.

Główne różnice między MVC i MVC2

Często mylimy MVC2 z wersją 2.0 MVC, jednak tak nie jest, to modele projektowe Java, w których architektura MVC2 jest bardziej złożona i najlepiej nadaje się do większych aplikacji.

Czynnik różnicujący relacje MVC i MVC2 można podsumować na podstawie następujących podstaw:

  1. W MVC jeden komponent jest odpowiedzialny za odbieranie żądań i wysyłanie odpowiedzi, ale w MVC2 istnieje wiele komponentów do odbierania żądań i wysyłania odpowiedzi. tj. Kontroler i widok.
  2. MVC1 ściśle łączy logikę prezentacji z logiką biznesową, ale MVC 2 izoluje lub odłącza logikę prezentacji od logiki biznesowej.
  3. W MVC Business logika i prezentacja Logika jest połączona w JSP, więc projektanci stron internetowych i programiści nie mogą pracować jednocześnie, ale w MVC2 istnieje separacja między logiką a widokiem, dlatego projektant i programista mogą ze sobą współpracować.
  4. W MVC 1, kontrolerze i modelu, oba są JSP lub można powiedzieć, że są napisane w tym samym JSP. Ale w MVC2 kontrolerem jest serwlet, a modelem jest klasa Java.
  5. MVC nie obsługuje ponownego użycia komponentów aplikacji, podczas gdy MVC2 obsługuje ponowne użycie komponentów, co jest dobre dla większych i bardziej złożonych aplikacji.

Wniosek

Jak widzieliśmy, różnica między MVC i MVC2 jest gruba linia, mimo że mają podobne nazwy, ale oba są używane jako rozwiązanie powtarzających się problemów projektowych systemu.

MVC2 jest bardziej złożony i ma separację problemów, która jest wykorzystywana w większych aplikacjach lub intuicyjnym interfejsie użytkownika ze względu na jego scentralizowaną funkcję, w której wszystkie żądania są obsługiwane przez jeden kontroler. W przeciwieństwie do MVC, gdzie bieżąca strona JSP jest tą, która określa następną stronę widoku do otwarcia.

MVC2 oddziela strony widoku od kontrolerów, w przeciwieństwie do MVC, który utrzymuje logikę biznesową i widokową połączoną w JSP. W związku z tym MVC2 jest łatwiejszy w utrzymaniu dla wielu użytkowników ze względu na możliwość ponownego wykorzystania i rozszerzania oraz jest w stanie obsługiwać bardziej skomplikowany system w czasie rzeczywistym, np. Facebook, Instagram.

Bibliografia

  1. https://www.scientific.net/AMM.198-199.537
  2. https://ieeexplore.ieee.org/abstract/document/777091/
  3. https://academic.oup.com/jpp/article-abstract/64/3/397/6135294

Różnica między MVC i MVC2 (z tabelą)