Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tej serii samouczków pokazano, jak zaimplementować powiązanie danych, wstrzykiwanie zależności i testowanie jednostkowe przy użyciu wzorca projektowego model-View-ViewModel ( MVVM) i zestawu narzędzi MVVM w aplikacji WinUI 3. Opiera się on na samouczku Tworzenie aplikacji WinUI i pokazuje, jak zaktualizować modele widoku w celu wykorzystania zestawu narzędzi MVVM Toolkit oraz różnic między zestawem narzędzi MVVM Toolkit a tradycyjnymi metodami MVVM.
Możesz pobrać lub wyświetlić kod tego samouczka z repozytorium GitHub.
W tym poradniku nauczysz się, jak:
- Poznaj różnice między zestawem narzędzi MVVM Toolkit i tradycyjnymi podejściami MVVM.
- Utwórz oddzielny projekt biblioteki klas do przechowywania modelu ViewModels i usług w celu zwiększenia możliwości testowania.
- Zaimplementuj powiązanie danych w aplikacji WinUI przy użyciu zestawu narzędzi MVVM Toolkit.
- Dodaj modele widoku
AllNotesViewModeliNoteViewModelaby wykorzystać zestaw narzędzi MVVM Toolkit. - Zintegruj wstrzykiwanie zależności, aby zarządzać modelami widoku i usługami.
- Utwórz projekt testu jednostkowego do testowania modeli widoków i usług.
Wymagania wstępne
Do wykonania kroków tego samouczka niezbędne jest spełnienie następujących wymagań wstępnych:
- Program Visual Studio 2022 (wersja 17.14 lub nowsza) lub Visual Studio 2026 z zainstalowanym obciążeniem tworzenia aplikacji WinUI .
- Projekt startowy utworzony przez wykonanie kroków opisanych w samouczku Tworzenie aplikacji WinUI . Jeśli znasz już samouczek, możesz pobrać kod, aby rozpocząć pracę tutaj z repozytorium GitHub.
Co to jest zestaw narzędzi MVVM?
Zestaw narzędzi MVVM Toolkit to nowoczesna, uproszczona i szybka biblioteka, która ułatwia implementowanie wzorca projektowego MVVM w aplikacjach platformy .NET. Jest on częścią zestawu narzędzi .NET Community Toolkit i udostępnia zestaw narzędzi, które upraszczają tworzenie aplikacji opartych na maszynie MVVM. Zestaw narzędzi MVVM Zawiera takie funkcje jak:
-
ObservableObject: klasa bazowa, która implementuje
INotifyPropertyChangedinterfejs, dzięki czemu można tworzyć modele wyświetlania, które powiadamiają widok zmian właściwości. - RelayCommand: implementacja polecenia, która umożliwia powiązanie akcji interfejsu użytkownika z metodami w modelu widoku.
- Messenger: system obsługi komunikatów, który umożliwia komunikację między różnymi częściami aplikacji bez ścisłego sprzężenia.
- Atrybuty: Zestaw atrybutów, których można użyć do generowania szablonowego kodu, takiego jak powiadomienia o zmianie właściwości i implementacje poleceń.
- Generatory kodu źródłowego: Generowanie kodu w czasie kompilacji, które zmniejsza powtarzalny kod i poprawia wydajność.
- Obsługa wstrzykiwania zależności: wbudowana obsługa wstrzykiwania zależności w celu zarządzania cyklem życia modeli i usług widoku.
Zestaw narzędzi MVVM Toolkit został zaprojektowany tak, aby był łatwy w użyciu i integrowany z istniejącymi projektami. Jest ona zgodna z różnymi platformami .NET, w tym WinUI, WPF i .NET MAUI. Możesz zapoznać się z przykładowymi aplikacjami w repozytorium GitHub lub przykładową aplikacją w Sklepie Microsoft Store, aby zobaczyć, jak można używać zestawu narzędzi MVVM w różnych scenariuszach.
W jaki sposób zestaw narzędzi MVVM Toolkit porównuje się z tradycyjnymi podejściami MVVM?
Zestaw narzędzi MVVM zmniejsza ilość standardowego kodu ViewModel i upraszcza wiele aspektów implementowania wzorca projektowego MVVM w porównaniu z tradycyjnymi podejściami. Oto kilka kluczowych różnic:
| Funkcja | Tradycyjne podejście MVVM | Podejście zestawu narzędzi MVVM |
|---|---|---|
| Powiadomienie o zmianie własności | Ręcznie zaimplementuj INotifyPropertyChanged w klasie bazowej i wywołuj zdarzenia PropertyChanged dla każdej właściwości. |
Dziedzicz z ObservableObject i użyj metody SetProperty, aby automatycznie generować zdarzenia PropertyChanged. |
| Implementacja poleceń | Ręcznie zaimplementuj ICommand dla każdego polecenia. |
Użyj RelayCommand do łatwego tworzenia poleceń z minimalną ilością kodu. |
| Messaging | Zaimplementuj niestandardowe systemy obsługi komunikatów lub użyj bibliotek innych firm. | Użyj wbudowanej Messenger klasy do oddzielenia komunikacji między składnikami. |
| Kod szablonowy | Napisz powtarzalny kod dla powiadomień o zmianie właściwości i implementacji poleceń. | Użyj atrybutów i generatorów źródłowych, aby zmniejszyć standardowy kod. |
| Performance | Może mieć obciążenie związane z wydajnością z powodu odbicia i generowania kodu w czasie wykonywania. | Generatory źródeł zapewniają generowanie kodu w czasie kompilacji, zwiększając wydajność. |
| Obsługa wstrzykiwania zależności | Wymaga ręcznej konfiguracji i zarządzania cyklami życia modelu wyświetlania. | Wbudowana obsługa wstrzykiwania zależności w celu zarządzania cyklami życia modelu. |
| Krzywa uczenia | Może wymagać głębszego zrozumienia koncepcji i wzorców MVVM. | Łatwiejsze do nauki i użycia z naciskiem na prostotę i produktywność. |
Aby uzyskać więcej informacji na temat wzorca projektowania MVVM, zobacz Powiązania danych systemu Windows i MVVM, Model-View-ViewModel (MVVM) oraz dokumentację referencyjną interfejsu INotifyPropertyChanged.
Aplikacja Notatek WinUI
Końcowa aplikacja, którą utworzysz w tym samouczku, to zrefaktoryzowana wersja aplikacji WinUI Notes z samouczka Tworzenie aplikacji WinUI. Aplikacja umożliwia użytkownikom tworzenie, zapisywanie i ładowanie wielu notatek. Interfejs użytkownika oryginalnej aplikacji pozostaje taki sam, ale zaktualizowana architektura używa zestawu NARZĘDZI MVVM Toolkit do tworzenia powiązań danych i zarządzania modelami widoku.
AllNotesPage
NotePage
Wskazówka
Podczas tworzenia aplikacji dla systemu Windows często odwołujesz się do dokumentacji referencyjnej API i dokumentacji koncepcyjnej. W tym samouczku zobaczysz linki wbudowane w tekście oraz w grupach z oznaczeniem "Dowiedz się więcej w dokumentacji:". Te linki są opcjonalne; Nie musisz ich obserwować, aby ukończyć samouczek. Są one udostępniane w przypadku, gdy chcesz zanotować, gdzie można znaleźć potrzebne informacje, gdy zaczniesz tworzyć własne aplikacje.
Windows developer