MVVM - Zalety

Wzorzec MVVM jest ostatecznie nowoczesną strukturą wzorca MVC, więc głównym celem jest nadal ten sam, aby zapewnić wyraźne oddzielenie logiki domeny od warstwy prezentacji. Oto niektóre zalety i wady wzorca MVVM.

Kluczową korzyścią jest umożliwienie prawdziwego oddzielenia Widoku od Modelu, poza osiągnięciem separacji i wydajnością, jaką zyskujesz dzięki temu. W rzeczywistości oznacza to, że kiedy model wymaga zmiany, można go łatwo zmienić bez konieczności wyświetlania i odwrotnie.

Istnieją trzy ważne kluczowe rzeczy, które wynikają z zastosowania MVVM, które są następujące.

Konserwowalność

  • Czyste oddzielenie różnych rodzajów kodu powinno ułatwić przejście do jednej lub kilku bardziej szczegółowych i skoncentrowanych części i wprowadzanie zmian bez obaw.

  • Oznacza to, że możesz zachować elastyczność i szybko przechodzić na nowe wersje.

Testowalność

  • Dzięki MVVM każdy fragment kodu jest bardziej szczegółowy i jeśli jest prawidłowo zaimplementowany, Twoje zewnętrzne i wewnętrzne zależności są oddzielnymi fragmentami kodu z części z podstawową logiką, którą chciałbyś przetestować.

  • To znacznie ułatwia pisanie testów jednostkowych na podstawie logiki podstawowej.

  • Upewnij się, że działa poprawnie po napisaniu i działa nawet w przypadku zmian w konserwacji.

Rozciągliwość

  • Czasami nakłada się to na łatwość utrzymania, ze względu na czyste granice separacji i bardziej szczegółowe fragmenty kodu.

  • Masz większe szanse na uczynienie którejkolwiek z tych części bardziej wielokrotnego użytku.

  • Ma również możliwość zastępowania lub dodawania nowych fragmentów kodu, które robią podobne rzeczy, we właściwych miejscach w architekturze.

Oczywistym celem wzorca MVVM jest abstrakcja widoku, która zmniejsza ilość logiki biznesowej związanej z kodem. Jednak oto kilka innych solidnych zalet -

  • ViewModel jest łatwiejszy do testowania jednostkowego niż kod związany z kodem lub kod sterowany zdarzeniami.
  • Możesz to przetestować bez niezręcznej automatyzacji interfejsu użytkownika i interakcji.
  • Warstwa prezentacji i logika są luźno powiązane.

Niedogodności

  • Niektórzy uważają, że w przypadku prostych interfejsów użytkownika MVVM może być przesadą.
  • Podobnie w większych przypadkach może być trudno zaprojektować ViewModel.
  • Debugowanie byłoby nieco trudne, gdy mamy złożone powiązania danych.