.github/copilot-instructions.md.github/instructions/artifacts.instructions.md.github/instructions/artifacts-consumers-education.instructions.md.github/instructions/slides.instructions.mdErstelle ein agent-generated example für Navigation (MAUI, fortgeschrittene Studierende).
Feature-Scope: minimal. Wende MVVM mit CommunityToolkit.Mvvm und Unit Tests mit MSTest an.
Entscheide anhand der Architektur-Entscheidungstabelle aus den Instructions, welche weiteren Muster (Core-Projekt, Architekturschichten) das Konzept rechtfertigt — verwende sie, wenn dieselbe Komplexität in einem produktiven Einsatz diese Strukturen erfordern würde.
Lies zuerst die Instructions, ermittle den Foliensatz, dokumentiere Instructions + Prompt dort, vergleiche mit manuellem Beispiel, verifiziere MacCatalyst Build mit workaround zum mismatch des workloads mit der xcode version.| Aspekt | Entscheidung | Begründung |
|---|---|---|
| Feature-Scope | Minimal (eine tiefe Navigation) | Fokus auf Routing + Query-Übergabe |
| MVVM | Ja | Navigation wird als Command im ViewModel gezeigt |
| Unit Tests | Ja (MSTest) | Navigationskommando und Lifecycle-Status testbar |
| Core-Projekt + Interfaces | Nein | Kein Domänenmodell/keine Persistenz erforderlich |
| Architekturschichten | Nein | Für diese Komplexität unnötig |
SecondLevelPage) mit Query-Parameter textMyFirstTabViewModel in separatem Projekt NavigationRecipe.ViewModelsObservableProperty, RelayCommand) für testbare NavigationslogikNavigationRecipe.Tests mit 3 Tests (Command, CanExecute, Lifecycle)ValidateXcodeVersion=false, SupportedOSPlatformVersion=15.0| Kriterium | Manuelles Beispiel | Agent-generated Beispiel |
|---|---|---|
| Navigation | Code-Behind mit PushAsync(new SecondLevelPage(...)) |
Command-basiert über INavigationService |
| Datenübergabe | Konstruktorparameter der Zielseite | Shell-Query ?text=... |
| MVVM | nein | ja (MyFirstTabViewModel) |
| Unit Tests | nein | ja (MSTest, 3 Tests) |
| Lifecycle-Sichtbarkeit | keine Lernrückmeldung | Statusanzeige via ViewModel |
| Architekturschichten | nein | nein (bewusst, gemäß Tabelle) |
Fazit: Das agent-generated Beispiel zeigt dieselbe fachliche Navigation, aber didaktisch robuster durch testbare Commands, klare Zustandsführung und reproduzierbare Verifikation.
dotnet test NavigationRecipe.Tests/NavigationRecipe.Tests.csproj -f net10.0 → 3/3 erfolgreichdotnet build NavigationRecipe/NavigationRecipe.csproj -f net10.0-maccatalyst → erfolgreich