DotNet Architect
Créer des API .NET de qualité production avec un accompagnement architectural expert
Les projets .NET d'entreprise manquent souvent d'accompagnement architectural expérimenté, ce qui entraîne une dette technique et des problèmes de performances. Cette skill fournit une expertise .NET de niveau senior pour construire des systèmes backend robustes et évolutifs en utilisant les meilleures pratiques modernes de C# et ASP.NET Core.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "DotNet Architect". Concevoir une stratégie de cache pour une API de catalogue de produits avec 100K éléments et un trafic de lecture élevé
النتيجة المتوقعة:
Approche de cache multi-niveaux recommandée : Le niveau L1 utilise IMemoryCache pour les éléments populaires (top 1K produits) avec expiration de 5 minutes. Le niveau L2 utilise le cache distribué Redis pour le catalogue complet avec expiration de 30 minutes et le modèle cache-aside. Incluez les conventions de clés de cache, l'invalidation lors des opérations d'écriture et le stale-while-revalidate pour le rafraîchissement en arrière-plan.
استخدام "DotNet Architect". Examiner cette requête Entity Framework causant des problèmes N+1
النتيجة المتوقعة:
La requête charge Orders puis accède à Order.Items dans une boucle, causant N+1 requêtes. Corrigez en ajoutant .Include(o => o.Items) pour le chargement eager, ou utilisez .AsSplitQuery() pour des requêtes optimisées séparées. Considérez AsNoTracking() pour les scénarios en lecture seule afin de réduire la charge.
التدقيق الأمني
آمنThis is a prompt-only skill containing architectural guidance for .NET development. Static analysis scanned 0 files with 0 security issues detected and a risk score of 0/100. No executable code, network access, or file system operations are present. The skill provides expert guidance on C#, ASP.NET Core, Entity Framework, and enterprise patterns without any security risks.
درجة الجودة
ماذا يمكنك بناءه
Examen de Conception d'API
Obtenez un examen expert de votre conception d'API .NET, incluant la structure des contrôleurs, les DTOs, la validation et les modèles de gestion des erreurs.
Planification d'Architecture Microservices
Concevez les limites des microservices, les modèles de communication et les exigences d'infrastructure pour les systèmes distribués évolutifs.
Conseil en Optimisation des Performances
Identifiez et résolvez les goulots d'étranglement dans le code async, les requêtes de base de données et les modèles d'allocation mémoire.
جرّب هذه الموجهات
Examinez cette classe de service C# pour les meilleures pratiques et les améliorations potentielles. Concentrez-vous sur les modèles async, la gestion des erreurs et l'injection de dépendances : [collez votre code]
Concevez une API .NET pour [décrivez votre domaine, ex: traitement des commandes e-commerce]. Incluez la structure du projet, les interfaces clés et les modèles de données. Considérez l'évolutivité pour [charge attendue].
Analysez cette méthode async pour les potentiels deadlocks, les problèmes de performances et les fuites mémoire. Suggérez des optimisations spécifiques avec des exemples de code : [collez votre code]
Créez un plan de migration de [état actuel, ex: application monolithique EF6] vers [état cible, ex: microservices avec EF Core]. Incluez les phases, les risques et les stratégies de rollback.
أفضل الممارسات
- Utilisez les types de référence nullables et les membres requis pour détecter les erreurs de référence nulle à la compilation
- Appliquez l'injection de dépendances avec les durées de vie de service appropriées (Singleton, Scoped, Transient) selon les exigences d'état et de thread
- Implémentez la journalisation structurée avec Serilog incluant les IDs de requête et les contextes de corrélation pour le traçage distribué
تجنب
- Évitez les méthodes async void sauf pour les gestionnaires d'événements - utilisez async Task et await toutes les opérations async
- Ne capturez pas generic Exception sans journalisation et rethrow - gérez les exceptions spécifiques et laissez les erreurs inattendues se propager
- Ne stockez jamais DbContext ou les services scoped dans les classes Singleton - cela cause des disposables capturés et des problèmes de thread