Compétences architecture-patterns
📦

architecture-patterns

Sûr

Реализация архитектурных паттернов бэкенда

Également disponible depuis: Barnhardt-Enterprises-Inc,AdamManuel-dev,sickn33

Создание поддерживаемых бэкенд-систем требует проверенных архитектурных паттернов. Этот навык помогает реализовать чистую архитектуру (Clean Architecture), гексагональную архитектуру (Hexagonal Architecture) и предметно-ориентированное проектирование (Domain-Driven Design) для создания тестируемых, масштабируемых приложений с правильным разделением ответственности.

Prend en charge: Claude Codex Code(CC)
📊 70 Adéquat
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "architecture-patterns". Create a Clean Architecture structure for a user management system

Résultat attendu:

Навык генерирует полную структуру каталогов с domain/entities, содержащим сущность User, domain/interfaces с портом IUserRepository, use_cases, содержащим CreateUserUseCase и UpdateUserUseCase, adapters/repositories с реализацией PostgresUserRepository и adapters/controllers с UserController для обработки HTTP. Каждый компонент демонстрирует правильный поток зависимостей и разделение ответственности.

Utilisation de "architecture-patterns". Implement a payment gateway adapter using hexagonal architecture

Résultat attendu:

Навык создаёт интерфейс PaymentGatewayPort, определяющий контракт метода charge, затем реализует как StripePaymentAdapter для продакшена, так и MockPaymentAdapter для тестирования. Оба адаптера реализуют один и тот же интерфейс порта, позволяя легко менять их без изменения бизнес-логики. Пример включает обработку ошибок и правильные паттерны async/await.

Utilisation de "architecture-patterns". Design an Order aggregate with DDD patterns

Résultat attendu:

Навык проектирует сущность Order как корень агрегата с методами add_item, calculate_total и submit, инкапсулирующими бизнес-правила. Включает сущность OrderItem, объект-значение Money для обработки валюты, enum OrderStatus для управления состоянием и доменные события, такие как OrderSubmittedEvent. Агрегат обеспечивает соблюдение инвариантов и поддерживает границы согласованности.

Audit de sécurité

Sûr
v5 • 1/21/2026

All 43 static analysis findings are false positives from educational code examples in documentation. The skill teaches software architecture patterns through Python examples showing Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. No executable code, network access, or security vulnerabilities present.

2
Fichiers analysés
909
Lignes analysées
0
résultats
5
Total des audits
Aucun problème de sécurité trouvé

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
22
Communauté
100
Sécurité
91
Conformité aux spécifications

Ce que vous pouvez construire

Проектирование архитектуры нового бэкенд-сервиса

Планирование и реализация нового микросервиса с использованием принципов Clean Architecture с правильным разделением слоёв, внедрением зависимостей и тестируемой бизнес-логикой.

Рефакторинг монолитного приложения

Преобразование тесно связанного монолитного приложения в хорошо структурированную гексагональную архитектуру с портами и адаптерами для упрощения тестирования и сопровождения.

Реализация паттернов Domain-Driven Design

Моделирование сложных бизнес-доменов с использованием тактических паттернов DDD, включая агрегаты, сущности, объекты-значения и доменные события для лучшего соответствия предметной области.

Essayez ces prompts

Генерация структуры Clean Architecture
Create a Clean Architecture folder structure for an e-commerce order management system with domain entities, use cases, and adapters.
Реализация порта и адаптера репозитория
Implement a user repository port interface and PostgreSQL adapter following hexagonal architecture principles with async database access.
Создание доменных сущностей с бизнес-логикой
Design an Order aggregate with domain entities, value objects, and business rules for adding items, calculating totals, and state transitions.
Рефакторинг контроллера в паттерн Use Case
Refactor this FastAPI endpoint that has business logic in the controller into a proper use case with dependency injection and separation of concerns.

Bonnes pratiques

  • Всегда направляйте зависимости внутрь от внешних слоёв к внутренним, никогда не позволяйте доменному слою зависеть от инфраструктуры
  • Используйте интерфейсы и порты для определения контрактов в доменном слое, реализуйте адаптеры во внешних слоях для тестируемости
  • Держите бизнес-логику в доменных сущностях и вариантах использования, контроллеры должны обрабатывать только HTTP-вопросы и делегировать их вариантам использования

Éviter

  • Размещение бизнес-логики в контроллерах или обработчиках API вместо вариантов использования и доменных сущностей
  • Создание анемичных доменных моделей только с полями данных и без поведения, размещение всей логики в сервисах
  • Тесная связь доменного слоя с конкретными фреймворками, базами данных или внешними API без интерфейсов абстракции

Foire aux questions

Когда следует использовать Clean Architecture вместо более простых паттернов?
Используйте Clean Architecture для сложной бизнес-логики с множественными интеграциями и долгосрочными потребностями в сопровождении. Простые CRUD-приложения с базовыми рабочими процессами могут не получить выгоды от дополнительных уровней абстракции. Рассмотрите компромисс между поддерживаемостью и простотой на основе сложности вашего проекта.
Чем гексагональная архитектура отличается от Clean Architecture?
Оба обеспечивают инверсию зависимостей и разделение ответственности. Clean Architecture подчёркивает концентрические слои со строгими правилами зависимостей, направленными внутрь. Hexagonal Architecture фокусируется на портах и адаптерах, где доменное ядро окружено взаимозаменяемыми адаптерами. Это взаимодополняющие подходы, часто используемые вместе.
В чём разница между сущностями и объектами-значениями в DDD?
Сущности имеют уникальную идентичность и жизненный цикл, две сущности с одинаковыми атрибутами всё равно различны, если ID отличаются. Объекты-значения определяются своими атрибутами и неизменяемы, два объекта-значения с одинаковыми атрибутами считаются равными. Используйте сущности для вещей, которые меняются со временем, объекты-значения для описательных характеристик.
Как тестировать варианты использования, которые зависят от репозиториев и внешних сервисов?
Используйте внедрение зависимостей для предоставления mock-реализаций интерфейсов репозиториев и сервисов. Создавайте тестовые двойники, которые реализуют те же интерфейсы портов, но возвращают контролируемые данные вместо обращения к реальным базам данных или API. Это позволяет тестировать бизнес-логику изолированно без зависимостей от инфраструктуры.
Можно ли применять эти паттерны к существующим кодовым базам или только к новым проектам?
Вы можете постепенно рефакторить существующий код к этим паттернам. Начните с одного модуля или функции, извлеките бизнес-логику в варианты использования, создайте интерфейсы репозиториев и реализуйте адаптеры. Постепенная миграция безопаснее полных переписываний. Сначала фокусируйтесь на часто изменяемых областях для максимальной выгоды.
Работает ли этот навык с фреймворками, отличными от FastAPI и PostgreSQL?
Принципы применимы к любому фреймворку или базе данных. Примеры используют FastAPI и PostgreSQL для демонстрации, но те же паттерны работают с Django, Flask, Express, MongoDB, MySQL или другими технологиями. Ключевой момент — держать специфичный для фреймворка код во внешних слоях адаптеров отдельно от бизнес-логики.

Détails du développeur

Structure de fichiers

📄 SKILL.md