Skip to content

Conversation

@h2jinee
Copy link

@h2jinee h2jinee commented Jan 13, 2026

📌 Summary

  • 2단계 - 수강신청 도메인 모델을 구현했습니다.
  • 일급 컬렉션 Students, Sessions를 구현했습니다.
  • 값 객체 Period, CoverImage, EnrollmentPolicy를 구현했습니다.

🤔 고민한 점 및 질문

  • EnrollmentPolicy 설계:
    • 정적 팩토리 메서드로 분리한 후 전략 패턴이 떠올랐습니다. 전략 패턴으로 분리하는 것이 적합한지 아니면 현재처럼 정적 팩토리 메서드로 분리하는 것이 더 적합한지 고민이 되었습니다.
  • 패키지 구조:
    • 클래스가 많아져서 courses/domain/ 아래에 image/, session/ 패키지를 분리했습니다. 적절하게 분리가 되어있는지 고민이 되었습니다.

- Session 도메인을 구현했습니다 (기간, 커버이미지, 상태, 수강정책)
- 무료/유료 강의 수강신청 검증 로직을 추가했습니다
- CoverImage 값 객체를 구현했습니다 (크기, 타입, 비율 검증)
- Course-Session 관계를 구현했습니다
- 일급컬렉션을 적용했습니다 (Students, Sessions)
- EnrollmentPolicy에 정적 팩토리 메서드를 적용했습니다 (free(), paid())
- 무료 강의는 정원 제한 없이 수강신청할 수 있도록 수정했습니다
- 테스트 코드를 정적 팩토리 메서드 사용으로 변경했습니다
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant