Różnica między MVC i MVP

Różnica między MVC i MVP

MVC vs MVP

Model View Controller (znany również jako MVC) to wzór charakteru architektonicznego używanego specjalnie w inżynierii oprogramowania. Ten konkretny wzór służy do izolacji tak zwanej „logiki domeny” - która jest po prostu logiką aplikacji dla użytkownika. Jest izolowany od wejścia i prezentacji (znanej jako GUI) i pozwala na niezależny rozwój.

Prezenter widoku modelu (znany również jako MVP) jest bezpośrednią permutacją MVC. Jest to wzorzec oprogramowania (dokładniej, wzorzec projektowania interfejsu użytkownika) zaprojektowany specjalnie w celu wspomagania testowania zautomatyzowanych jednostek i poprawy tak zwanego rozdziału obaw w logice prezentacji. Oddzielenie obaw jest w zasadzie procesem, w którym program komputerowy jest podzielony na odrębne cechy, które nie pokrywają się, jeśli chodzi o to, jak funkcjonują.

Część modelu MVC jest zasadniczo wzorem, który reprezentuje dane za pośrednictwem określonych domen, które dane użyte do umożliwienia aplikacji na działanie. Część widoku przekształca model w interakcję odpowiednią dla użytkowników - zwykle jest to element interfejsu użytkownika. Wreszcie część kontrolera najbardziej trafnie odbiera wejście. Podejmując decyzje dotyczące obiektów znalezionych w modelu, kontroler służy jako katalizator odpowiedzi.

Modelowa część MVP określa dane, które mają być wyświetlane (lub działać) w interfejsie użytkownika. Część widoku wyświetla dane zdefiniowane w modelu i wysyła polecenia z monitem użytkownika (znane jako zdarzenia) do prezentera (który będzie działał na podstawie tych danych). Prezenter działa zatem na model i widok modelu. Jako taki, jest w stanie odzyskać dane z repozytoriów (znalezione w modelu), kontynuować dane i sformatowanie ich, aby można je było łatwo wyświetlić w widoku.

Istnieją różne warianty MVC. Jako taki, przepływ sterowania jest w bardzo ścisłej kolejności: po pierwsze, użytkownik będzie w interakcji z interfejsem (naciskając na przykład przycisk na myszy), a następnie kontroler zajmuje się zdarzeniem wejściowym i zmienia go na zdarzenie wejściowe i zmienia odpowiednia akcja użytkownika. Następnie kontroler powiadamia model tego, co zrobił użytkownik, co najprawdopodobniej spowoduje zmianę jego stanu (na przykład jako aktualizacja). Widok stawia pytanie do modelu w celu wygenerowania interfejsu użytkownika. Wreszcie interfejs użytkownika czeka na instrukcje, które ponownie uruchomi cykl.

Streszczenie:

1. MVC to wzór architektoniczny, który izoluje logikę domeny; MVP jest potomkiem MVC zaprojektowanego w celu pomocy w testowaniu zautomatyzowanych jednostek i poprawie rozdzielenia obaw.

2. W odniesieniu do MVC model reprezentuje dane, widok przekształca model w interakcję przyjazną dla użytkownika, a kontroler odbiera wejście; W odniesieniu do MVP model określa dane, widok je wyświetla, a prezenter działa na model i jego widok.