dotnet-backend-patterns
Produktionsreife .NET-Backends entwickeln
También disponible en: sickn33
Die Entwicklung von .NET-Backends erfordert das Verständnis von asynchronen Mustern, Dependency Injection und Datenbankzugriffsstrategien. Diese Fähigkeit bietet erprobte Vorlagen und Best Practices für die Erstellung von APIs, die wartbar, testbar und leistungsfähig sind.
Descargar el ZIP de la skill
Subir en Claude
Ve a Configuración → Capacidades → Skills → Subir skill
Activa y empieza a usar
Pruébalo
Usando "dotnet-backend-patterns". Generiere einen Product-Service mit Result-Pattern und Caching
Resultado esperado:
- Result<T>-Pattern mit Success/Failure statischen Methoden
- ICacheService-Abhängigkeit für Cache-Aside-Pattern
- FluentValidation-Integration für Request-Validierung
- ILogger-Injektion mit korrekten Log-Levels
- CancellationToken-Propagation durch alle asynchronen Methoden
- Soft-Delete-Unterstützung mit Repository-Pattern
Usando "dotnet-backend-patterns". Erstelle ein User-Repository mit Dapper und parametrisierten Abfragen
Resultado esperado:
- IDbConnection-Injektion via Factory-Pattern
- Parametrisiertes SQL mit @Id, @SearchTerm-Platzhaltern
- QueryFirstOrDefaultAsync für einzelne Datensätze
- QueryAsync für mehrere Ergebnisse mit DynamicParameters
- Transaction-Unterstützung für Multi-Statement-Operationen
Usando "dotnet-backend-patterns". Richte Dependency Injection für einen Payment-Service ein
Resultado esperado:
- Scoped-Lifetime für Payment-Processing-Service
- IOptions<PaymentOptions>-Konfigurations-Binding
- HttpClient-Registrierung via IHttpClientFactory
- Singleton ConnectionMultiplexer für Redis
- Keyed Services für mehrere Payment-Provider
Auditoría de seguridad
SeguroThis is a pure documentation and code template skill containing only educational C#/.NET patterns. Static findings are 100% false positives caused by the scanner misidentifying: (1) markdown code fences as Ruby backticks, (2) SQL/database patterns as cryptographic terms, (3) standard C# namespace imports as reconnaissance. No executable code, network calls, file system access, or command execution exists. All content is static educational material.
Factores de riesgo
⚙️ Comandos externos (85)
🌐 Acceso a red (1)
📁 Acceso al sistema de archivos (5)
Puntuación de calidad
Lo que puedes crear
API-Entwicklung
RESTful-APIs mit Minimal-API-Endpunkten entwerfen und implementieren mit ordnungsgemäßer Fehlerbehandlung und Validierung
Datenzugriffsschicht
Repository-Schichten mit EF Core für komplexe Domänen oder Dapper für leistungskritische Abfragen erstellen
Teststrategie
Umfassende Test-Suiten mit gemockten Abhängigkeiten und Integrationstests gegen Testdatenbanken schreiben
Prueba estos prompts
Erstelle eine Service-Implementierung für [EntityName] mit CRUD-Operationen unter Verwendung des Result-Patterns, Dependency Injection und Validierung. Füge das Cache-Aside-Pattern und ordnungsgemäße Fehlerbehandlung ein.
Generiere ein [Dapper/EF Core] Repository für [EntityName] mit asynchronen Methoden für Suche, Paginierung und Bulk-Operationen. Füge parametrisierte Abfragen und ordnungsgemäße Connection-Handhabung ein.
Schreibe Service-Registrierungen für [ServiceName] mit korrekter Lifetime (scoped/singleton/transient), IOptions-Konfiguration und keyed Services falls erforderlich.
Schreibe xUnit-Tests für [ServiceName] mit Moq. Füge Happy-Path, Validierungsfehler und Fehlerszenarien ein. Verwende Fact und Theory-Attribute mit korrekten Assertions.
Mejores prácticas
- Verwende async/await durchgehend durch den gesamten Call-Stack und übergebe immer CancellationToken an asynchrone Methoden
- Bevorzuge Result<T> über Exceptions für Geschäftslogik-Fehler und validiere Eingaben an API-Grenzen
- Verwende AsNoTracking() für Nur-Lese-Abfragen und wähle nur benötigte Spalten aus, um die Speichernutzung zu reduzieren
Evitar
- Blockiere niemals async-Code mit .Result oder .GetAwaiter().GetResult(), da dies zu Deadlocks führt
- EF-Entitäten nicht direkt in API-Antworten exponieren - verwendet DTOs für Datentransformation
- Verwende niemals String-Verkettung für SQL-Abfragen - immer parametrisierte Abfragen verwenden, um Injection zu verhindern
Preguntas frecuentes
Welche .NET-Versionen werden unterstützt?
Wie groß darf die Antwort maximal sein?
Kann ich dies mit Minimal-APIs verwenden?
Sind meine Daten sicher?
Warum sind meine Abfragen langsam?
Wie unterscheidet sich dies von anderen Fähigkeiten?
Detalles del desarrollador
Autor
wshobsonLicencia
MIT
Repositorio
https://github.com/wshobson/agents/tree/main/plugins/dotnet-contribution/skills/dotnet-backend-patternsRef.
main
Estructura de archivos