Zalety MVC Większość aplikacji webowych rozwijanych w językach proceduralnych, takich jak ASP i PHP, posiada początkowy szablon programowania danych w warstwie hybrydowej. Na przykład wysłanie żądania bezpośrednio do bazy danych i wyświetlenie go w HTML jest zazwyczaj szybkie, ale ponieważ rozdzielenie stron danych nie jest zbyt bezpośrednie, trudno jest oddać wygląd modelu biznesowego lub jego ponowne wykorzystanie. Elastyczność projektowania produktu jest bardzo niewielka i trudno sprostać zmieniającym się potrzebom użytkowników. MVC wymaga warstwowania aplikacji, choć wymaga dodatkowej pracy, ale struktura produktu jest jasna, a jego zastosowanie można lepiej odzwierciedlić w modelu. Przede wszystkim powinno istnieć wiele widoków odpowiadających możliwościom modelu. Wraz z szybkimi zmianami potrzeb użytkowników może istnieć wiele sposobów dostępu do aplikacji. Na przykład model zamówień może zawierać zamówienia z tego systemu, zamówienia online lub zamówienia z innych systemów, ale przetwarzanie zamówień jest takie samo, co oznacza, że przetwarzanie zamówień jest takie samo. Zgodnie z wzorcem projektowym MVC, model jednego rzędu i wiele widoków może rozwiązać problem. Zmniejsza to kopiowanie kodu, czyli zmniejsza ilość utrzymania kodu i jest łatwe do utrzymania po zmianie modelu. Po drugie, ponieważ dane zwracane przez modele nie mają żadnego formatu wyświetlania, modele te mogą być również bezpośrednio stosowane w interfejsach. Po trzecie, ponieważ aplikacja jest podzielona na trzy warstwy, czasem zmiana jednej z warstw spełnia oczekiwania na zmianę aplikacji. Zmiana w procesie biznesowym aplikacji lub regułach biznesowych wymaga jedynie zmiany warstwy modelu MVC. Koncepcja warstwy kontroli jest również ważna, ponieważ łączy różne modele i różne widoki, aby realizować różne żądania, więc można powiedzieć, że warstwa kontrolna zawiera pojęcie uprawnień do żądań użytkownika. Wreszcie, ułatwia także zarządzanie inżynierią oprogramowania. Ponieważ różne warstwy pełnią własne zadania, każda warstwa różnych zastosowań ma niektóre te same cechy, co sprzyja generowaniu kodu hipernadzorczego poprzez inżynierię i narzędzia. Niedociągnięcia MVC Niedociągnięcia MVC odzwierciedlają się w następujących aspektach: (1) zwiększa złożoność struktury i implementacji systemu. W przypadku prostych interfejsów, ścisłe podążanie za MVC do oddzielnych modeli, widoków i kontrolerów zwiększy złożoność struktury i może wygenerować zbyt wiele operacji aktualizacyjnych, obniżając efektywność operacyjną. (2) widok i kontroler są zbyt ciasne połączenie. Widoki i kontrolery są oddzielnymi, ale ściśle powiązanymi częściami, a użycie widoków bez kontrolerów jest ograniczone i odwrotnie, co uniemożliwia ich niezależne ponowne użycie. (3) widok nieefektywnego dostępu do danych modelu. W zależności od interfejsu obsługi modelu, widok może wymagać wielokrotnego wywoływania, aby uzyskać wystarczającą ilość danych wyświetlania. Niepotrzebnie częsty dostęp do niezmienionych danych może również pogorszyć wydajność operacyjną. (4Obecnie architektura MVC nie jest wspierana przez zaawansowane narzędzia interfejsu ani konstruktory. Koszt dostosowania tych narzędzi do potrzeb MVC i tworzenia oddzielnych części jest wysoki, co utrudnia korzystanie z MVC.
|