.github/copilot-instructions.md.github/instructions/artifacts.instructions.md.github/instructions/artifacts-consumers-education.instructions.md.github/instructions/slides.instructions.mdagent-workbench/prompts/recurring/agent-generated-education-example.mdErstelle ein agent-generated example für settings (MAUI, fortgeschrittene Studierende).
Feature-Scope: minimal (z.B. Todo-Liste). 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 persistierte Texteinstellung reicht für Preferences |
| MVVM | Ja | Binding und Commands sind zentral für das Beispiel |
| Unit Tests | Ja (MSTest) | Save/Load/Reset-Logik ist ohne UI testbar |
| Core-Projekt + Interfaces | Nein | Keine Persistenzschicht im Enterprise-Sinn, nur Preferences-Zugriff |
| Architektur-Schichten | Nein | Für dieses Demoziel nicht erforderlich |
CommunityToolkit.Mvvm im neuen Projekt SettingsRecipe.ViewModelsISettingsStore abstrahiert den Settings-ZugriffMauiPreferencesSettingsStore kapselt PreferencesLoad, Save, Reset im ViewModelValidateXcodeVersion=falseSettingsRecipe.Tests mit 4 Tests| Kriterium | Manuelles Beispiel | Agent-generated Beispiel |
|---|---|---|
| Binding-Ziel | direkte statische Settings-Klasse | testbares ViewModel |
| Property Change | manuelles INotifyPropertyChanged |
[ObservableProperty] |
| Save/Load/Reset | implizit über Setter | explizite Commands |
| Testbarkeit | kaum | 4 Tests gegen ViewModel + Store-Abstraktion |
| DI | nein | ja |
Fazit: Die agent-generated Variante ist didaktisch klarer, besser testbar und für fortgeschrittene Studierende als Ersatz des manuellen Settings-Beispiels geeignet.
dotnet test SettingsRecipe.Tests/SettingsRecipe.Tests.csproj → 4/4 erfolgreichdotnet build SettingsRecipe/SettingsRecipe.csproj -f net10.0-maccatalyst → erfolgreich