Skip to content

Comments

🎰 refactor: Lotto#15

Open
hambining wants to merge 14 commits intomainfrom
lotto-refactor
Open

🎰 refactor: Lotto#15
hambining wants to merge 14 commits intomainfrom
lotto-refactor

Conversation

@hambining
Copy link
Owner

🧩 도메인 구조 대개편

  • AbstractNumbers → Lotto & WinningNumbers 상속
  • 쓸모없는 Validation util 제거
  • LottoMachine (로또 번호 생성) / Store (돈 관련) 생성

🐾 서비스단 리팩토링

  • 도메인 생성 책임 Controller → Service
  • 스트림 대적용

🪼 컨트롤러

  • run() 함수 쪼개서 15줄 이내로 수정
    암튼 뭐 간단해짐 계산 로직이나 결과 출력 열시미 청소 해뜸 🧹

🖨️ 뷰

  • 출력만 하는 LottoPrinter 생성
  • UserInput에서 파싱 로직 유틸로 이사 🚚

🫧 느낀점

너무 졸리네요 😴 졸다가 실수로
푸시 잘못해서 .. ^^ 다시 해씀니다 😿

@hambining hambining self-assigned this Nov 12, 2025
Comment on lines +38 to +44
lottos.getLottos().stream()
.map(lotto -> {
int hits = winningNumbers.countHits(lotto);
boolean hasBonusNumber = lotto.getNumbers().contains(bonusNumber);
return Rank.getRank(hits, hasBonusNumber);
})
.forEach(result::addResult);
Copy link
Owner Author

@hambining hambining Nov 12, 2025

Choose a reason for hiding this comment

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

스트림 변천사

같은 로직인데 어떻ㄱㅔ 하지 고민하다가 스트림을 적용해바씀다
멀 쓸지 고민하다가 그냥 스트림 버전 썼음 왜냐면 난 스트림 쓸 줄 아니까 ㅋ
그냥 먼가 적어두고 싶었음 .. 히히

for (Lotto lotto : lottos.getLottos()) {
            int hits = winningNumbers.countHits(lotto);
            boolean hasBonusNumber = lotto.getNumbers().contains(bonusNumber);
            Rank rank = Rank.getRank(hits, hasBonusNumber);
            result.addResult(rank);
        }
 lottos.getLottos().forEach(lotto -> {
            int hits = winningNumbers.countHits(lotto);
            boolean hasBonusNumber = lotto.getNumbers().contains(bonusNumber);
            Rank rank = Rank.getRank(hits, hasBonusNumber);
            result.addResult(rank);
        });
lottos.getLottos().stream()
                .map(lotto -> {
                    int hits = winningNumbers.countHits(lotto);
                    boolean hasBonusNumber = lotto.getNumbers().contains(bonusNumber);
                    return Rank.getRank(hits, hasBonusNumber);
                })
                .forEach(result::addResult);

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