클로드스킬마트스킬 둘러보기바로 쓰는 문장영상으로 배우기터미널 사용법스킬이 뭐예요?
목록으로

도메인 주도 설계 (Spring Boot 3)

Spring Boot 3 프로젝트에서 애그리게이트, 값 객체, 도메인 이벤트를 DDD 원칙에 맞게 작성하도록 Claude를 안내하는 스킬입니다.

개발·코딩고급24339AI 점수 8/10마지막 업데이트: 2026. 8. 14.

무엇을 해주나

  • 애그리게이트 규칙(루트를 통한 접근, ID 참조, 크기 제한)을 강제해 불변식이 깨지는 코드를 막습니다.
  • Money, EmailAddress 같은 불변 값 객체를 Java record + 컴팩트 생성자 검증으로 작성하도록 유도합니다.
  • 도메인 이벤트를 애그리게이트에 모아 저장 후 발행하고, @TransactionalEventListener(AFTER_COMMIT)로 커밋 시점에 처리하도록 안내합니다. Spring Data의 @DomainEvents / @AfterDomainEventPublication 활용법도 포함합니다.
  • 복잡한 조회는 Specification 조합으로, 외부 API 연동은 인프라 계층의 ACL(안티 커럽션 레이어)로 분리합니다.
  • 자주 나오는 실수(빈약한 모델, Long ID, 서비스에 도메인 로직 몰기 등)를 Gotchas로 체크합니다.

이런 분께 추천

  • Spring Boot 3 + JPA로 DDD 스타일 백엔드를 만드는 Java 개발자
  • getter/setter만 있는 엔티티에서 벗어나 풍부한 도메인 모델로 리팩터링하려는 팀
  • 외부 결제/레거시 시스템 모델이 도메인에 스며드는 것을 막고 싶은 아키텍트

활용 예시

  1. "주문 도메인에 아이템 추가/삭제 기능을 만들어줘" → 자식 컬렉션 직접 노출 대신 order.addItem(...) 형태의 루트 메서드로 생성.
  2. "주문 완료 시 확인 메일을 보내고 싶어" → OrderPlaced 이벤트를 애그리게이트에서 수집하고 커밋 이후 비동기 리스너에서 메일 발송.
  3. "상태·고객·기간 조합 검색 API가 필요해" → OrderSpecifications의 조합형 Specification + Pageable 조회 코드 제안.

· · · 설치 가이드 · · ·

설치 없이 지금 한 번 써보기

아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.

이 파일의 지시를 읽고 그대로 따라서 나를 도와줘:
https://raw.githubusercontent.com/rrezartprebreza/spring-boot-skills/HEAD/skills/spring-boot-3/domain-driven-design/SKILL.md

내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)

Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.

쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.

Claude 앱에 설치 (터미널 필요 없음)
  1. 아래 버튼으로 ZIP 파일을 받으세요.
  2. Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
  3. Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
ZIP 내려받기
Claude Code에 설치

Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요

클로드스킬마트에서 찾은 스킬을 설치해줘.
GitHub 저장소 rrezartprebreza/spring-boot-skills 의 skills/spring-boot-3/domain-driven-design 폴더를 내 ~/.claude/skills/domain-driven-design/ 에 그대로 복사해줘.
설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.

직접 명령으로 설치하기

git clone https://github.com/rrezartprebreza/spring-boot-skills.git && mkdir -p ~/.claude/skills && cp -r spring-boot-skills/skills/spring-boot-3/domain-driven-design ~/.claude/skills/

제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.

  1. 터미널을 엽니다.
  2. 저장소를 클론합니다: git clone https://github.com/rrezartprebreza/spring-boot-skills.git
  3. 스킬 폴더를 만듭니다: mkdir -p ~/.claude/skills
  4. 이 스킬만 복사합니다: cp -r spring-boot-skills/skills/spring-boot-3/domain-driven-design ~/.claude/skills/
  5. (선택) 본문이 참조하는 transactional-patterns 스킬도 같은 방식으로 복사하면 트랜잭션 이벤트 설명이 연결됩니다.
  6. Claude Code를 재시작하고 "애그리게이트 설계해줘" 같은 요청으로 스킬이 자동 로드되는지 확인합니다.