Навыки dotnet-backend-patterns
B

dotnet-backend-patterns

Безопасно ⚙️ Внешние команды🌐 Доступ к сети📁 Доступ к файловой системе

Создание производственных .NET бэкендов

Разработка .NET бэкендов требует понимания асинхронных паттернов, внедрения зависимостей и стратегий доступа к базам данных. Этот навык предоставляет проверенные шаблоны и лучшие практики для создания API, которые поддерживаемы, тестируемы и производительны.

Поддерживает: Claude Codex Code(CC)
🥉 73 Бронза
1

Скачать ZIP навыка

2

Загрузить в Claude

Перейдите в Settings → Capabilities → Skills → Upload skill

3

Включите и начните использовать

Протестировать

Использование «dotnet-backend-patterns». Generate a product service with Result pattern and caching

Ожидаемый результат:

  • Паттерн Result<T> со статическими методами Success/Failure
  • Зависимость ICacheService для паттерна cache-aside
  • Интеграция FluentValidation для валидации запросов
  • Инъекция ILogger с правильными уровнями логирования
  • Распространение CancellationToken через все асинхронные методы
  • Поддержка soft delete с паттерном репозитория

Использование «dotnet-backend-patterns». Create a user repository using Dapper with parameterized queries

Ожидаемый результат:

  • Инъекция IDbConnection через паттерн фабрики
  • Параметризованный SQL с плейсхолдерами @Id, @SearchTerm
  • QueryFirstOrDefaultAsync для одиночных записей
  • QueryAsync для множественных результатов с DynamicParameters
  • Поддержка транзакций для многооперационных действий

Использование «dotnet-backend-patterns». Set up dependency injection for a payment service

Ожидаемый результат:

  • Scoped область видимости для сервиса обработки платежей
  • Конфигурация IOptions<PaymentOptions> с привязкой
  • Регистрация HttpClient через IHttpClientFactory
  • Singleton ConnectionMultiplexer для Redis
  • Keyed сервисы для нескольких платежных провайдеров

Аудит безопасности

Безопасно
v4 • 1/17/2026

This 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.

6
Просканировано файлов
2,791
Проанализировано строк
3
находки
4
Всего аудитов

Факторы риска

⚙️ Внешние команды (85)
references/dapper-patterns.md:32-59 references/dapper-patterns.md:59-63 references/dapper-patterns.md:63-85 references/dapper-patterns.md:85-91 references/dapper-patterns.md:91-133 references/dapper-patterns.md:133-137 references/dapper-patterns.md:137-177 references/dapper-patterns.md:177-181 references/dapper-patterns.md:181-246 references/dapper-patterns.md:246-250 references/dapper-patterns.md:250-278 references/dapper-patterns.md:278-284 references/dapper-patterns.md:284-308 references/dapper-patterns.md:308-312 references/dapper-patterns.md:312-348 references/dapper-patterns.md:348-352 references/dapper-patterns.md:352-397 references/dapper-patterns.md:397-401 references/dapper-patterns.md:401-429 references/dapper-patterns.md:429-435 references/dapper-patterns.md:435-443 references/dapper-patterns.md:443-447 references/dapper-patterns.md:447-458 references/dapper-patterns.md:458-462 references/dapper-patterns.md:462-468 references/dapper-patterns.md:468-474 references/dapper-patterns.md:474-517 references/dapper-patterns.md:517-521 references/dapper-patterns.md:521-544 references/ef-core-best-practices.md:9-20 references/ef-core-best-practices.md:20-24 references/ef-core-best-practices.md:24-41 references/ef-core-best-practices.md:41-45 references/ef-core-best-practices.md:45-64 references/ef-core-best-practices.md:64-68 references/ef-core-best-practices.md:68-78 references/ef-core-best-practices.md:78-82 references/ef-core-best-practices.md:82-100 references/ef-core-best-practices.md:100-106 references/ef-core-best-practices.md:106-130 references/ef-core-best-practices.md:130-134 references/ef-core-best-practices.md:134-147 references/ef-core-best-practices.md:147-153 references/ef-core-best-practices.md:153-176 references/ef-core-best-practices.md:176-180 references/ef-core-best-practices.md:180-188 references/ef-core-best-practices.md:188-194 references/ef-core-best-practices.md:194-228 references/ef-core-best-practices.md:228-232 references/ef-core-best-practices.md:232-253 references/ef-core-best-practices.md:253-259 references/ef-core-best-practices.md:259-280 references/ef-core-best-practices.md:280-286 references/ef-core-best-practices.md:286-295 references/ef-core-best-practices.md:295-299 references/ef-core-best-practices.md:299-315 references/ef-core-best-practices.md:315-319 references/ef-core-best-practices.md:319-329 references/ef-core-best-practices.md:329-333 references/ef-core-best-practices.md:333-355 SKILL.md:25-47 SKILL.md:47-51 SKILL.md:51-101 SKILL.md:101-105 SKILL.md:105-150 SKILL.md:150-154 SKILL.md:154-227 SKILL.md:227-231 SKILL.md:231-293 SKILL.md:293-299 SKILL.md:299-374 SKILL.md:374-378 SKILL.md:378-478 SKILL.md:478-484 SKILL.md:484-597 SKILL.md:597-603 SKILL.md:603-708 SKILL.md:708-712 SKILL.md:712-772 SKILL.md:772-789 SKILL.md:789 SKILL.md:789-794 SKILL.md:794-796 SKILL.md:796-802 SKILL.md:802-803
🌐 Доступ к сети (1)
📁 Доступ к файловой системе (5)

Оценка качества

55
Архитектура
100
Сопровождаемость
87
Контент
22
Сообщество
100
Безопасность
83
Соответствие спецификации

Что вы можете построить

Разработка API

Проектирование и реализация RESTful API с использованием Minimal API эндпоинтов с правильной обработкой ошибок и валидацией

Слой доступа к данным

Построение слоя репозитория с использованием EF Core для сложных доменов или Dapper для критичных к производительности запросов

Стратегия тестирования

Написание комплексных наборов тестов с замокированными зависимостями и интеграционными тестами против тестовых баз данных

Попробуйте эти промпты

Создать сервис
Создайте реализацию сервиса для [EntityName] с CRUD операциями с использованием паттерна Result, внедрения зависимостей и валидации. Включите паттерн cache-aside и правильную обработку ошибок.
Добавить репозиторий
Сгенерируйте репозиторий [Dapper/EF Core] для [EntityName] с асинхронными методами для поиска, пагинации и массовых операций. Включите параметризованные запросы и правильную обработку подключений.
Настроить DI
Напишите регистрации сервисов для [ServiceName] с правильной областью видимости (scoped/singleton/transient), конфигурацией IOptions и keyed сервисами при необходимости.
Написать тесты
Напишите xUnit тесты для [ServiceName] с использованием Moq. Включите happy path, ошибки валидации и сценарии ошибок. Используйте атрибуты Fact и Theory с правильными assertions.

Лучшие практики

  • Используйте async/await на протяжении всего стека вызовов и всегда передавайте CancellationToken в асинхронные методы
  • Предпочитайте Result<T> исключениям для бизнес-логических ошибок и валидируйте входные данные на границах API
  • Используйте AsNoTracking() для запросов только на чтение и выбирайте только необходимые столбцы для снижения потребления памяти

Избегать

  • Никогда не блокируйте асинхронный код с .Result или .GetAwaiter().GetResult(), так как это вызывает взаимоблокировки
  • Не暴露 EF сущности напрямую в ответах API - используйте DTO для преобразования данных
  • Не используйте конкатенацию строк для SQL запросов - всегда используйте параметризованные запросы для предотвращения инъекций

Часто задаваемые вопросы

Какие версии .NET поддерживаются?
Шаблоны ориентированы на .NET 8+ и используют возможности C# 12, такие как первичные конструкторы и коллекционные выражения.
Какой максимальный размер ответа?
Размер ответа зависит от запроса. Используйте пагинацию с настраиваемыми размерами страниц (по умолчанию 50, максимум 200).
Можно ли использовать это с Minimal APIs?
Да. Все паттерны сервисов работают как с контроллерными API, так и с Minimal API эндпоинтами с использованием внедрения зависимостей.
Безопасны ли мои данные?
Этот навыг только генерирует шаблоны кода. Он не обращается к файлам, базам данных и не передает никакие данные внешне.
Почему мои запросы медленные?
Используйте AsNoTracking() для чтения, выбирайте только необходимые столбцы, добавляйте индексы базы данных для фильтруемых столбцов и рассматривайте Dapper для горячих путей.
Чем это отличается от других навыков?
Этот навык предоставляет паттерны, специфичные для C#/.NET. Используйте общие навыки проектирования API для языково-агностичных принципов REST.

Сведения для разработчиков

Автор

wshobson

Лицензия

MIT

Ссылка

main

Структура файлов