Skip to content

jiffyin7/java-lotto-7

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-lotto-precourse

로또

🧱클래스 다이어그램

🧾기능 요구 사항

패키지 구조

Package Class Description
ContainerDependencyInjectionContainer의존성 주입 컴포넌트 컨테이너
ControllerPurchaseLottoController메인 로직 컨트롤러
Service AmountService`PurchaseAmount` & `ProfitAmount` 비즈니스 로직 처리
LottoService`Lotto` & `Lottos` 비즈니스 로직 처리
Model PurchaseAmount로또 구입 금액
ProfitAmount로또 당첨 금액
Bonus로또의 보너스 번호
WinningLotto로또의 당첨 번호 & `Bonus`를 관리하는 일급 컬렉션
Lotto로또의 숫자를 관리하는 일급 컬렉션
PurchasedLottos구매한 `Lotto`(들)을 관리하는 일급 컬렉션
Command PurchaseAmountCommand로또 구입 금액 입력 검증 커맨드
LottoCommand로또의 당첨 번호 입력 검증 커맨드
BonusCommand로또의 보너스 번호 입력 검증 커맨드
View View사용자 입/출력 처리
DTO PurchaseAmountUserInput 로또 구입 금액 사용자 입력
WinningLottoUserInput 로또의 당첨 번호 사용자 입력
BonusUserInput 로또의 보너스 번호 사용자 입력
MatchResult `PurchaseLottos`의 당첨 결과
MatchResults `MatchResult`의 일급 컬렉션
Exception GlobalException전역 에러 처리

단계별 구현

⬜✅
기능 컴포넌트 구현 브랜치
예외처리 GlobalException ✅전역 예외처리 exception
InputException ✅사용자 입력 관련 예외처리
AmountException ✅금액 관련 예외처리
LottoException ✅로또 관련 예외처리
로또 구입 금액 사용자 입력 PurchaseAmountCommand ✅`PurchaseAmount` 유효성 검증 feat/purchase-amount-input
View ✅`PurchaseAmountUserInput` 사용자 입력 처리
PurchaseAmountCommand ✅`PurchaseAmountUserInput` 반환
로또 구매 Lotto ✅1장 가격 상수 feat/purchase-lottos
LottoService ✅`Lotto` 1장 가격 반환
AmountService ✅`PurchasedLottos` 구매
PurchasedLottos ✅`PurchasedLottos` 생성
LottoService ✅`PurchasedLottos` 발행
Lotto ✅`Lotto` 오름차순 정렬
리팩토링 View ✅`displayOutPut` 메서드 추가 refactor
ValidateCommand ✅사용자 입력 재시도 로직 추가
Lotto ✅`LottoTest` 통과 하기 위한 검증 로직 추가
당첨 번호 입력 LottoCommand ✅`Lotto` 당첨 번호 유효성 검증 feat/winning-lotto-input
View ✅`WinningLottoUserInput` 당첨 번호 사용자 입력 처리
LottoCommand ✅`WinningLottoUserInput` 당첨 번호 반환
LottoService ✅`WinningLottoUserInput`를 `WinningLotto`로 변환
보너스 번호 입력 BonusCommand ✅`Bonus` 보너스 번호 유효성 검증 feat/lotto-bonus-input
View ✅`Bonus` 보너스 번호 사용자 입력 처리
✅`Bonus` 반환
LottoService ✅`WinningLotto`에 보너스 번호 추가
로또 당첨 조회 LottoService ✅`WinningLotto`와 `PurchasedLottos` 매칭 여부 feat/match-winning-lotto
LottoService ✅`MatchResults` 반환
MatchResult ✅`MatchResult` 생성
MatchResults ✅`MatchResult` 추가
로또 당첨 통계 출력 ProfitRate ✅`ProfitRate` 수익률 생성 feat/match-winning-lotto-output
ProfitAmount ✅`ProfitAmount` 수익 금액 생성
AmountService ✅`ProfitRate` 반환
LottoProfitCommand ✅`MatchResult` & `ProfitRate`당첨 금액 및 수익률 출력 커맨드 생성
View ✅`LottoProfitCommand`로 수익률 출력
출력 리팩토링 OutputCommand ✅출력 로직 개선 refactor-output
로또 컨트롤러 LottoController ✅로직 조합 dev/controller
의존성 주입 DependencyInjectionContainer ✅컴포넌트 의존성 주입 dev/dependency
출력 포맷 리팩토링 ValidateCommand ✅개행문자 추가 refactor-output-message
✅구매 금액 자료형 변경
✅숫자 포맷 가독성 향상
LottoConstant ✅상수 병합
Command ✅패키지 수정

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%