Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato série tutoriálů ukazuje, jak implementovat datové vazby, vkládání závislostí a jednotkové testování pomocí návrhového vzoru Model-View-ViewModel (MVVM) a sady nástrojů MVVM v aplikaci WinUI 3. Vychází z kurzu Vytvoření aplikace WinUI a ukazuje, jak aktualizovat modely zobrazení tak, aby využívaly MVVM Toolkit a rozdíly mezi MVVM Toolkit a tradičními přístupy MVVM.
Kód pro účely tohoto kurzu si můžete stáhnout nebo zobrazit z úložiště GitHub.
V tomto návodu se naučíte, jak:
- Seznamte se s rozdíly mezi MVVM Toolkit a tradičními přístupy MVVM.
- Vytvořte samostatný projekt knihovny tříd, který bude obsahovat modely ViewModel a služby pro lepší testovatelnost.
- Implementujte datovou vazbu v aplikaci WinUI pomocí MVVM Toolkit.
- Přidejte
AllNotesViewModelaNoteViewModelmodely pohledů a využijte tak MVVM Toolkit. - Integrovat vkládání závislostí pro správu ViewModelů a služeb.
- Vytvořte projekt pro jednotkové testy pro testování vašich ViewModelů a služeb.
Požadavky
Pro absolvování tohoto kurzu musí být splněné následující požadavky:
- Visual Studio 2022 (verze 17.14 nebo novější) nebo Visual Studio 2026 s nainstalovanou úlohou vývoje aplikací WinUI .
- Počáteční projekt vytvořený podle kroků v kurzu Vytvoření aplikace WinUI . Pokud už tento kurz znáte, můžete si stáhnout kód, abyste mohli začít pracovat z úložiště GitHub.
Co je MVVM Toolkit?
MVVM Toolkit je moderní, odlehčená a rychlá knihovna, která vám pomůže implementovat vzor návrhu MVVM v aplikacích .NET. Je součástí sady nástrojů .NET Community Toolkit a poskytuje sadu nástrojů a nástrojů pro zjednodušení vývoje aplikací založených na MVVM. Sada nástrojů MVVM obsahuje funkce, jako jsou:
-
ObservableObject: Základní třída, která implementuje
INotifyPropertyChangedrozhraní, což umožňuje vytvořit modely zobrazení, které upozorní na změny vlastností. - RelayCommand: Implementace příkazu, která umožňuje svázat akce uživatelského rozhraní s metodami v modelu zobrazení.
- Messenger: Systém zasílání zpráv, který umožňuje komunikaci mezi různými částmi aplikace bez těsného párování.
- Atributy: Sada atributů, které můžete použít ke generování často používaného kódu, jako jsou oznámení o změně vlastností a implementace příkazů.
- Generátory zdrojů: Generování kódu v době kompilace, které snižuje často používaný kód a zlepšuje výkon.
- Podpora injektáže závislostí: Integrovaná podpora injektáže závislostí pro správu životního cyklu zobrazení modelů a služeb
Sada MVVM Toolkit je navržená tak, aby byla snadno použitelná a integrovaná do stávajících projektů. Je kompatibilní s různými platformami .NET, včetně WinUI, WPF a .NET MAUI. Můžete si prohlédnout některé ukázkové aplikace v úložišti GitHub nebo ukázkovou aplikaci v Microsoft Storu a podívat se, jak se dá sada MVVM Toolkit používat v různých scénářích.
Jak se sada MVVM Toolkit porovnává s tradičními přístupy MVVM?
Sada MVVM Toolkit snižuje množství často používaného kódu ViewModel a zjednodušuje mnoho aspektů implementace vzoru návrhu MVVM v porovnání s tradičními přístupy. Tady jsou některé klíčové rozdíly:
| Vlastnost | Tradiční přístup MVVM | Přístup MVVM Toolkit |
|---|---|---|
| Oznámení o změně vlastnosti | Ručně implementujte INotifyPropertyChanged v základní třídě a vyvolejte PropertyChanged události pro každou vlastnost. |
Použijte metodu SetProperty ke zdědění z ObservableObject a automatickému vyvolání PropertyChanged událostí. |
| Implementace příkazů | Ručně implementujte ICommand pro každý příkaz. |
Pomocí RelayCommand snadno vytvářejte příkazy s minimální šablonou. |
| Messaging | Implementujte vlastní systémy zasílání zpráv nebo používejte knihovny třetích stran. | K oddělení komunikace mezi komponentami použijte integrovanou Messenger třídu. |
| Šablonový kód | Napište opakující se kód pro oznámení o změnách vlastností a implementace příkazů. | Ke snížení často používaného kódu použijte atributy a generátory zdrojů. |
| Performance | Může mít kvůli reflexi a generování kódu za běhu režijní náklady na výkon. | Generátory zdrojů poskytují generování kódu v době kompilace a zlepšují výkon. |
| Podpora injektování závislostí | Vyžaduje ruční správu a nastavení životních cyklů modelu zobrazení. | Integrovaná podpora injektáže závislostí pro správu životního cyklu modelu |
| Křivka učení | Může vyžadovat hlubší pochopení konceptů a vzorů MVVM. | Snadnější učení a používání se zaměřením na jednoduchost a produktivitu. |
Další informace o vzoru návrhu MVVM najdete v tématu Datové vazby Windows a MVVM, Model-View-ViewModel (MVVM) a referenční dokumentaci pro rozhraní INotifyPropertyChanged.
Aplikace Poznámky WinUI
Poslední aplikace, kterou vytvoříte v tomto kurzu, je refaktorovaná verze aplikace WinUI Notes z kurzu Vytvoření aplikace WinUI . Aplikace umožňuje uživatelům vytvářet, ukládat a načítat více poznámek. Uživatelské rozhraní původní aplikace zůstane stejné, ale aktualizovaná architektura používá MVVM Toolkit pro datové vazby a správu modelů zobrazení.
AllNotesPage
Poznámková stránka
Návod
Při vytváření aplikací pro Windows často odkazujete na referenční dokumenty k rozhraní API a koncepční dokumenty. V tomto kurzu uvidíte odkazy v textu a ve skupinách označených jako "Další informace v dokumentaci:". Tyto odkazy jsou volitelné; Abyste mohli absolvovat kurz, nemusíte je dodržovat. Jsou k dispozici v případě, že si chcete poznamenat, kde najdete informace, které budete potřebovat, když začnete vytvářet vlastní aplikace.
Windows developer