W polu Web Development, Model-View-Controllerjest jednym z najczęściej omawianych w dzisiejszym świecie programowania internetowego. Architektura MVC została początkowo uwzględniona w dwóch głównych platformach do tworzenia aplikacji internetowych - Struts i Ruby on Rails . W tym artykule przyjrzyjmy się nieco architekturze MVC w .
Tematy, które zostaną omówione w tym artykule, są następujące:
- Co to jest architektura MVC w Javie?
- Zalety architektury MVC
- Demo: Implementacja MVC przy użyciu języka Java
Zanim faktycznie gJeśli chodzi o szczegóły techniczne architektury MVC, istnieją pewne koncepcje, które musisz znać.
- Wzorzec projektowy w inżynierii oprogramowania to technika rozwiązywania często występujących problemów podczas projektowania oprogramowania.
- Projektowanie modelu, określa, jakiego typu architektury używasz do rozwiązania problemu lub zaprojektowania modelu.
- Istnieją dwa rodzaje modeli projektowych : Architektura modelu 1 , Architektura modelu 2 (MVC).
Co to jest architektura MVC w Javie?
Projekty modeli oparte na architekturze MVC są zgodne z MVC i oddzielają logikę aplikacji od interfejsu użytkownika podczas projektowania oprogramowania. Jak sama nazwa wskazuje, wzór MVC ma trzy warstwy, którymi są:
- Model - Reprezentuje warstwę biznesową aplikacji
- Widok - Określa sposób prezentacji aplikacji
- Kontroler - Zarządza przepływem aplikacji
W kontekście programowania w języku JavaModel składa się z prostych Klasy Java , Widok wyświetla dane i składa się z kontrolera . To rozdzielenie powoduje, że żądania użytkowników są przetwarzane w następujący sposób:
- Przeglądarka na kliencie wysyła żądanie strony do kontrolera obecnego na serwerze
- Kontroler wykonuje akcję wywołania modelu, a tym samym pobiera dane, których potrzebuje w odpowiedzi na żądanie
- Następnie kontroler przekazuje pobrane dane do widoku
- Widok jest renderowany i wysyłany z powrotem do klienta w celu wyświetlenia przez przeglądarkę
Rozdzielanie aplikacji nate trzy odrębne elementy są dobrym pomysłem z wielu powodów. Przyjrzyjmy się, co to jest.
Zalety architektury MVC w Javie
Architektura MVC oferuje programiście wiele korzyści podczas tworzenia aplikacji, do których należą:
- Wielu programistów może jednocześnie pracować z trzema warstwami (Model, Widok i Kontroler)
- Oferty poprawione skalowalność , który uzupełnia zdolność aplikacji do rozwoju
- Ponieważ komponenty mają małą zależność od siebie, są łatwe w utrzymaniu
- Model może być ponownie używany w wielu widokach, co zapewnia możliwość ponownego wykorzystania kodu
- Przyjęcie MVC sprawia, że aplikacja jest bardziej wyrazista i łatwa do zrozumienia
- Rozszerzanie i testowanie aplikacji staje się łatwe
Teraz wiesz, dlaczego MVC jest najpopularniejszy w świecie programowania internetowego. Ale jeśli nadal nie możesz się przejmować koncepcją MVC, nie martw się. Zagłębimy się w każdą z tych warstw i poznamy ich cel za pomocą pliku .
Implementacja MVC przy użyciu języka Java
Aby zaimplementować aplikację internetową w oparciu o wzorzec projektowy MVC, stworzymy
- Klasa kursu , który działa jako warstwa modelu
- Klasa CourseView , który definiuje warstwę prezentacji ( warstwa widoku )
- Klasa CourseContoller , który działa jako kontroler
Teraz zbadajmy te warstwy jedna po drugiej.
Warstwa modelu
We wzorcu projektowym MVC Model to warstwa danych, która definiuje logikę biznesową systemu, a także reprezentuje stan aplikacji.Model obiekty pobrać i zapisać stan modelu w bazie danych. Za pośrednictwem tej warstwy stosujemy reguły do danych, które ostatecznie reprezentują koncepcje, którymi zarządza nasza aplikacja. Teraz stwórzmy model za pomocą Klasa kursu.
pakiet MyPackage public class Course {private String CourseName private String CourseId private String CourseCategory public String getId () {return CourseId} public void setId (String id) {this.CourseId = id} public String getName () {return CourseName} public void setName (Nazwa ciągu) {this.CourseName = name} public String getCategory () {return CourseCategory} public void setCategory (String category) {this.CourseCategory = category}}
Kod jest łatwy do zrozumienia i nie wymaga objaśnień. Składa się z funkcji do pobierania / ustawiania szczegółów kursu.
Warstwa widoku
Ta warstwa wzorca projektowego MVC reprezentuje dane wyjściowe aplikacji lub interfejsu użytkownika. Wyświetla dane pobrane z warstwy modelu przez kontroler i przedstawia je użytkownikowi na żądanie. jaOtrzymuje wszystkie potrzebne informacje od kontrolera i nie ma potrzeby bezpośredniej interakcji z warstwą biznesową.Utwórzmy widok za pomocą Klasa CourseView.
pakiet MyPackage public class CourseView {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('Szczegóły kursu:') System.out.println ('Name:' + CourseName) System.out.println ('Identyfikator kursu:' + CourseId) System.out.println ('Kategoria kursu:' + CourseCategory)}}
Ten kod topo prostu wydrukować wartości na konsoli. Dalej mamy kontrolera aplikacji internetowej.
Warstwa kontrolera
Kontroler jest jak interfejs między modelem a widokiem. Odbiera żądania użytkowników z warstwy widoku i przetwarza je, łącznie z niezbędnymi walidacjami. Żądania są następnie przesyłane do modelu w celu przetwarzania danych. Po ich przetworzeniu dane są ponownie odsyłane do administratora, a następnie wyświetlane na podglądzie.Stwórzmy Klasa CourseContoller który działa jako administrator.
pakiet MyPackage klasa publiczna CourseController {prywatny model kursu prywatny Widok CourseView publiczny CourseController (model kursu, widok CourseView) {this.model = model this.view = widok} public void setCourseName (nazwa ciągu) {model.setName (name)} public String getCourseName () {return model.getName ()} public void setCourseId (String id) {model.setId (id)} public String getCourseId () {return model.getId ()} public void setCourseCategory (String category) {model.setCategory (kategoria)} public String getCourseCategory () {return model.getCategory ()} public void updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}
Pobieżny rzut oka na kod powie nam, że ta klasa kontrolera jest po prostu odpowiedzialna za wywołanie modelu w celu pobrania / ustawienia danych i na ich podstawie aktualizację widoku. A teraz przejdźmyzobacz, jak wszystkie te elementy są ze sobą powiązane.
Główna klasa Java
Nazwijmy tę klasę „MVCPatternDemo.java”. Sprawdź poniższy kod.
zarządzanie zakupami w zarządzaniu projektami
pakiet MyPackage public class MVCPatternDemo {public static void main (String [] args) {// pobierz rekord studenta na podstawie jego numeru pozycji z bazy danych Course model = retriveCourseFromDatabase () // Utwórz widok: zapisywanie szczegółów kursu w konsoli widoku CourseView = new CourseView () CourseController controller = new CourseController (model, view) controller.updateView () // aktualizuj model data controller.setCourseName ('Python') System.out.println ('nPo aktualizacji, szczegóły kursu są następujące') controller.updateView ()} private static Course retriveCourseFromDatabase () {Course course = new Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programming ') return course}}
Powyższa klasapobiera dane kursu z pliku za pomocą którego użytkownik wprowadza zestaw wartości. Następnie wypycha te wartości do modelu kursu. Następnie inicjalizuje widok, który utworzyliśmy wcześniej w artykule.Ponadto wywołuje również CourseController klasę i wiąże ją z Kierunek klasa i CourseView klasa. Plik updateView () metoda, która jest częścią kontrolera, aktualizuje następnie szczegóły kursu na konsoli. Sprawdź wyniki poniżej.
Wynik
Szczegóły kursu: Nazwa: Java Identyfikator kursu: 01 Kategoria kursu: Programowanie Po aktualizacji szczegóły kursu są następujące Szczegóły kursu: Nazwa: Python Identyfikator kursu: 01 Kategoria kursu: Programowanie
Architektura MVCzapewnia całkowicie nowy poziom modułowości w kodzie, co czyni go bardziej czytelnym i łatwiejszym w utrzymaniu. To prowadzi nas do końca tego artykułu.Mam nadzieję, że wszystko, co zostało Ci udostępnione, jest dla Ciebie jasne.
Upewnij się, że ćwiczysz jak najwięcej i cofnij swoje doświadczenie.
Sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Jesteśmy tutaj, aby pomóc Ci na każdym etapie Twojej podróży, opracowujemy program nauczania przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy w tym dokumencie „Architektura MVC w Javie” artykuł, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.