스킬 architecture-patterns
📦

architecture-patterns

안전

백엔드 아키텍처 패턴 구현

또한 다음에서 사용할 수 있습니다: Barnhardt-Enterprises-Inc,AdamManuel-dev

유지보수 가능한 백엔드 시스템을 구축하려면 검증된 아키텍처 패턴이 필요합니다. 이 스킬은 Clean Architecture, Hexagonal Architecture, Domain-Driven Design을 구현하여 적절한 관심사 분리를 통해 테스트 가능하고 확장 가능한 애플리케이션을 만드는 데 도움을 줍니다.

지원: Claude Codex Code(CC)
📊 71 적절함
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"architecture-patterns" 사용 중입니다. 사용자 관리 시스템을 위한 Clean Architecture 구조를 생성하세요

예상 결과:

이 스킬은 User 엔티티를 포함하는 domain/entities, IUserRepository 포트를 포함하는 domain/interfaces, CreateUserUseCase 및 UpdateUserUseCase를 포함하는 use_cases, PostgresUserRepository 구현을 포함하는 adapters/repositories, HTTP 처리를 위한 UserController를 포함하는 adapters/controllers로 구성된 완전한 디렉토리 구조를 생성합니다. 각 컴포넌트는 적절한 의존성 흐름과 관심사 분리를 보여줍니다.

"architecture-patterns" 사용 중입니다. hexagonal architecture를 사용하여 결제 게이트웨이 어댑터를 구현하세요

예상 결과:

이 스킬은 charge 메서드 계약을 정의하는 PaymentGatewayPort 인터페이스를 생성한 다음, 프로덕션용 StripePaymentAdapter와 테스트용 MockPaymentAdapter를 모두 구현합니다. 두 어댑터 모두 동일한 포트 인터페이스를 구현하여 비즈니스 로직을 변경하지 않고도 쉽게 교체할 수 있습니다. 예제에는 오류 처리 및 적절한 async/await 패턴이 포함되어 있습니다.

"architecture-patterns" 사용 중입니다. DDD 패턴으로 Order 애그리게이트를 설계하세요

예상 결과:

이 스킬은 비즈니스 규칙을 캡슐화하는 add_item, calculate_total 및 submit 메서드를 갖춘 애그리게이트 루트로서의 Order 엔티티를 설계합니다. OrderItem 엔티티, 통화 처리를 위한 Money 값 객체, 상태 관리를 위한 OrderStatus 열거형 및 OrderSubmittedEvent와 같은 도메인 이벤트가 포함됩니다. 애그리게이트는 불변성을 강제하고 일관성 경계를 유지합니다.

보안 감사

안전
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
스캔된 파일
909
분석된 줄 수
0
발견 사항
5
총 감사 수
보안 문제를 찾지 못했습니다
감사자: claude 감사 이력 보기 →

품질 점수

38
아키텍처
100
유지보수성
87
콘텐츠
31
커뮤니티
100
보안
91
사양 준수

만들 수 있는 것

새로운 백엔드 서비스 아키텍처 설계

적절한 레이어 분리, 의존성 주입 및 테스트 가능한 비즈니스 로직을 갖춘 Clean Architecture 원칙을 사용하여 새로운 마이크로서비스를 계획하고 구현합니다.

모놀리식 애플리케이션 리팩토링

강하게 결합된 모놀리식 애플리케이션을 더 쉬운 테스트와 유지보수를 위해 포트와 어댑터를 갖춘 잘 구조화된 hexagonal architecture로 변환합니다.

Domain-Driven Design 패턴 구현

더 나은 도메인 정렬을 위해 애그리게이트, 엔티티, 값 객체 및 도메인 이벤트를 포함한 DDD 전술적 패턴을 사용하여 복잡한 비즈니스 도메인을 모델링합니다.

이 프롬프트를 사용해 보세요

Clean Architecture 구조 생성
도메인 엔티티, 유스케이스 및 어댑터를 포함한 전자상거래 주문 관리 시스템을 위한 Clean Architecture 폴더 구조를 생성하세요.
Repository 포트 및 어댑터 구현
비동기 데이터베이스 액세스를 사용한 hexagonal architecture 원칙에 따라 사용자 리포지토리 포트 인터페이스와 PostgreSQL 어댑터를 구현하세요.
비즈니스 로직을 갖춘 도메인 엔티티 생성
항목 추가, 합계 계산 및 상태 전환을 위한 비즈니스 규칙을 갖춘 도메인 엔티티, 값 객체를 포함한 Order 애그리게이트를 설계하세요.
컨트롤러를 유스케이스 패턴으로 리팩토링
컨트롤러에 비즈니스 로직이 있는 이 FastAPI 엔드포인트를 의존성 주입과 관심사 분리를 갖춘 적절한 유스케이스로 리팩토링하세요.

모범 사례

  • 항상 외부 레이어에서 내부 레이어로 의존성을 향하게 하고, 도메인 레이어가 인프라에 의존하지 않도록 함
  • 도메인 레이어에서 계약을 정의하기 위해 인터페이스와 포트를 사용하고, 테스트 가능성을 위해 외부 레이어에서 어댑터를 구현
  • 비즈니스 로직은 도메인 엔티티와 유스케이스에 유지하고, 컨트롤러는 HTTP 관련 사항만 처리하고 유스케이스에 위임해야 함

피하기

  • 유스케이스 및 도메인 엔티티 대신 컨트롤러 또는 API 핸들러에 비즈니스 로직을 배치
  • 데이터 속성만 있고 동작이 없는 빈약한 도메인 모델을 생성하고 모든 로직을 서비스에 배치
  • 추상화 인터페이스 없이 도메인 레이어를 특정 프레임워크, 데이터베이스 또는 외부 API에 강하게 결합

자주 묻는 질문

언제 Clean Architecture를 사용하고 언제 더 간단한 패턴을 사용해야 하나요?
여러 통합과 장기적인 유지보수 요구사항이 있는 복잡한 비즈니스 로직에는 Clean Architecture를 사용하세요. 기본적인 워크플로우를 가진 단순한 CRUD 애플리케이션은 추가적인 추상화 레이어의 이점을 얻지 못할 수 있습니다. 프로젝트 복잡도에 따라 유지보수성과 단순성 간의 트레이드오프를 고려하세요.
hexagonal architecture는 Clean Architecture와 어떻게 다른가요?
둘 다 의존성 역전과 관심사 분리를 강제합니다. Clean Architecture는 안쪽으로 흐르는 엄격한 의존성 규칙을 가진 동심원 레이어를 강조합니다. Hexagonal Architecture는 도메인 코어가 교체 가능한 어댑터로 둘러싸인 포트와 어댑터에 중점을 둡니다. 이들은 종종 함께 사용되는 보완적인 접근 방식입니다.
DDD에서 엔티티와 값 객체의 차이점은 무엇인가요?
엔티티는 고유한 식별자와 생명주기를 가지며, 동일한 속성을 가진 두 엔티티도 ID가 다르면 여전히 다릅니다. 값 객체는 속성으로 정의되며 불변이고, 동일한 속성을 가진 두 값 객체는 동일한 것으로 간주됩니다. 시간이 지남에 따라 변경되는 것에는 엔티티를, 설명적 특성에는 값 객체를 사용하세요.
리포지토리 및 외부 서비스에 의존하는 유스케이스를 어떻게 테스트하나요?
의존성 주입을 사용하여 리포지토리 및 서비스 인터페이스의 모의 구현을 제공하세요. 동일한 포트 인터페이스를 구현하지만 실제 데이터베이스나 API에 액세스하는 대신 제어된 데이터를 반환하는 테스트 더블을 생성하세요. 이를 통해 인프라 의존성 없이 비즈니스 로직을 독립적으로 테스트할 수 있습니다.
이러한 패턴을 기존 코드베이스에 적용할 수 있나요, 아니면 새 프로젝트에만 적용할 수 있나요?
기존 코드를 이러한 패턴으로 점진적으로 리팩토링할 수 있습니다. 하나의 모듈이나 기능부터 시작하여 비즈니스 로직을 유스케이스로 추출하고, 리포지토리 인터페이스를 생성하고, 어댑터를 구현하세요. 점진적 마이그레이션이 전체 재작성보다 안전합니다. 최대 이점을 위해 변경이 많은 영역을 먼저 집중하세요.
이 스킬은 FastAPI와 PostgreSQL 외의 다른 프레임워크와도 작동하나요?
원칙은 모든 프레임워크나 데이터베이스에 적용됩니다. 예제는 시연을 위해 FastAPI와 PostgreSQL을 사용하지만, 동일한 패턴이 Django, Flask, Express, MongoDB, MySQL 또는 기타 기술에서도 작동합니다. 핵심은 프레임워크별 코드를 비즈니스 로직과 분리된 외부 어댑터 레이어에 유지하는 것입니다.

개발자 세부 정보

파일 구조

📄 SKILL.md