Skip to content

[정지환] Sprint 2 #22

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: 정지환
Choose a base branch
from

Conversation

hello13580
Copy link
Collaborator

@hello13580 hello13580 commented Jun 12, 2025

주요 변경사항

  • data 자료 구조에 기존 List 대신 Map사용
  • File IO를 통한 데이터 영속화
  • com.sprint.mission.discodeit.service.file 패키지에 File 기반 서비스 인터페이스 구현체 추가
  • JCF 대신 FileIO와 객체 직렬화를 활용한 메소드 구현
  • 기존 서비스 구현체를 File*Service로 변경하여 테스트 진행

서비스 구현체 분석

  • JCF*Service 구현체와 File*Service 구현체를 비교하여 공통점과 차이점을 발견
  • "비즈니스 로직"과 관련된 코드를 식별
  • "저장 로직"과 관련된 코드를 식별

레포지토리 설계 및 구현

  • "저장 로직"과 관련된 기능을 도메인 모델 별 인터페이스로 선언
  • 인터페이스 패키지명: com.sprint.mission.discodeit.repository
  • 인터페이스 네이밍 규칙: [도메인 모델 이름]Repository
  • JCF*RepositoryFile*Repository 구현체 추가
  • JCF*Service 구현체의 "저장 로직"과 관련된 코드를 참고하여 구현
  • File*Service 구현체의 "저장 로직"과 관련된 코드를 참고하여 구현

심화 요구 사항

  • 관심사 분리를 통한 레이어 간 의존성 주입
  • com.sprint.mission.discodeit.service.basic 패키지에 Basic*Service 구현체 추가
  • 비즈니스 로직과 저장 로직 분리, 필요한 Repository 인터페이스를 필드로 선언하고 생성자 주입
  • JCF*RepositoryFile*Repository를 활용하여 테스트

테스트

  • JCF*Repository 구현체와 File*Repository 구현체를 활용한 테스트 진행

Copy link
Collaborator

@joonfluence joonfluence left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

전반적으로 완성도 높게 작성 되었습니다 👍

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.

2 participants