Skip to content
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

✨[FEAT] #7: User domain 계층 구현 #13

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

✨[FEAT] #7: User domain 계층 구현 #13

wants to merge 7 commits into from

Conversation

Pearl-K
Copy link
Contributor

@Pearl-K Pearl-K commented Jan 18, 2025

#⃣ 연관된 이슈

close #7

📝 작업 내용

  1. User 모델 구현
  2. User 관련 UseCase
  • CreateUserUseCase
  • GetUserUseCase
  • UpdateUserUseCase
  • DeleteUserUseCase
  1. Repository 인터페이스 구현

📸 스크린샷 (선택)

💬 리뷰 요구사항(선택)

suspend 함수 사용법에 대한 의견이나 더 좋은 점이 있으면 의논해봤으면 좋겠어요!

User model은 data class 로, 각 유즈케이스 목록은 다음과 같다.
- CreateUserUseCase
- DeleteUserUseCase
- GetUserUseCase
- UpdateUserUseCase
해당 유즈케이스들은 suspend로 중단 함수를 통해 비동기 처리 가능하게 선언했으며, invoke 함수를 통해 클래스 인스턴스를 함수호출처럼 사용할 수 있게 만들었다.
또한, 각 유즈케이스의 결과를 알아야하는 것들은 Result<Unit> 을 반환하도록 만들었다.
DeleteUserUseCase: user 판별을 id:Long으로 변경
GetUserUseCase: 리턴 타입을 Result<User?> 로 변경하여 성공, 실패 여부를 추가했다. 성공 시 필요한 user 정보와 성공 상태를 같이 주고, 실패랄 경우 User? 에의해 null 이 들어오면서 실패 처리가 되는 것이다.
Result<T> 타입을 모두 반환하게 하여 명확한 에러 핸들링, 미래 확장성 대비, 코드의 일관성을 추구했다.
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.

✨ [FEAT] Domain 계층에 User 기능 구현
1 participant