# 백엔드 아키텍처 패턴 (architecture-patterns)

> 클린 아키텍처, 헥사고날 아키텍처, DDD 를 적용해 서비스에 계층 구조, 의존 규칙, 인터페이스, 테스트 경계를 세웁니다.

- 카테고리: [아키텍처 설계](https://www.myskills.tools/ko/categories/architecture/)
- 출처: 커뮤니티 · Seth Hobson
- 저장소: https://github.com/wshobson/agents/tree/main/plugins/backend-development/skills/architecture-patterns (commit 0f73766)
- SKILL.md: https://github.com/wshobson/agents/blob/main/plugins/backend-development/skills/architecture-patterns/SKILL.md
- 설치 명령: `npx skills add wshobson/agents --skill architecture-patterns`
- 라이선스: MIT
- 호환 도구: Claude Code, Codex, Cursor, Copilot, OpenCode
- 권한: read-repo ✓, write-files ✓, shell ✗, network ✗
- 상태: 스캔 통과
- 규칙 스캔으로 모든 위험을 찾을 수는 없습니다. 설치 전에 이 스킬의 SKILL.md를 읽고 권한을 확인하세요.

## 핵심 규칙

의존은 안쪽으로만 향하며, 안쪽 계층은 바깥 계층을 전혀 알지 못합니다.

## 실행 단계

1. **패턴과 경계 선택** — 상황에 맞게 클린, 헥사고날, DDD 를 고르고 바운디드 컨텍스트를 정해 유비쿼터스 언어를 맞춥니다.
2. **계층과 인터페이스** — 엔티티, 유스케이스, 인터페이스 어댑터, 프레임워크로 계층을 나누고 계층 경계는 추상 인터페이스로 넘습니다.
3. **전술 패턴 구현** — 애그리거트, 값 객체, 리포지토리, 도메인 이벤트를 쓰고, 값 객체는 생성 시 불변식을 검증합니다.
4. **인메모리 테스트** — 모든 유스케이스는 실제 데이터베이스, Docker, 네트워크 없이 일반 단위 테스트로 실행할 수 있어야 합니다.
5. **흔한 문제 해결** — 계층 간 순환 임포트, 엔티티의 프레임워크 어노테이션, 비대한 컨트롤러, 컨텍스트 간 침투를 해결하고 필요하면 부패 방지 계층을 둡니다.

## 권한 설명 (SKILL.md 기준)

| 기능 | 필요 여부 | 설명 |
|---|---|---|
| 파일 쓰기 | 필요 | 계층형 코드 구조, 인터페이스 정의, 단위 테스트를 만들거나 리팩터링합니다. |
| 명령 실행 | 필요 없음 | 명령 실행을 요구하지 않습니다. |
| 네트워크 송신 | 필요 없음 | 네트워크에 접근하지 않습니다. |

## SKILL.md 프런트매터(YAML)

```yaml
---
name: architecture-patterns
description: Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. Use this skill when designing clean architecture for a new microservice, when refactoring a monolith to use bounded contexts, when implementing hexagonal or onion architecture patterns, or when debugging dependency cycles between application layers.
---
```

홈: https://www.myskills.tools/ko/ · URL: https://www.myskills.tools/ko/skills/architecture-patterns/
