1. 로또
[JCF] Map - 2
내용
- 각 등수별 당첨 개수를 저장하기 위한 자료형이 필요해 사용하게 되었음
- 출력 시 5등부터 순서대로 출력하기 위해 key 순서대로 정렬해주는 자료형인
TreeMap
사용 - 총 당첨금액 계산 시 Map Iteration을 위해
EntrySet
사용
링크
[OOP] Enum - 4
내용
- 각 등수별 당첨 금액과 몇 등인지를 저장하기 위해 enum 사용
- enum에 어디까지 책임을 줘야하는지 결정하는 부분이 어려웠음
링크
2. 블랙잭
[OOP] 상속 - 4
내용
- Player와 Dealer가 모두 게임의 참가자라는 공통적 속성이 있기 때문에 상속을 활용해 보았음
Dealer is Player
는 맞지만,Player is Dealer
는 아니기 때문에Dealer가 Player를 상속받도록 설계- 추상화와 상속 중 어떤 방법을 이용할지 고민했음
링크
[OOP] 추상화 - 4
내용
Dealer
와Player
가 모두 참가자라는 공통적 속성을 갖기 때문에 상속관계를Participant
라는 추상클래스로 리팩토링
링크
[설계] TDD - 2
내용
- 도메인을 설계하기 전 TDD를 통해 도메인의 역할을 확실히 나눌 수 있었음
- controller와 view에 대한 테스트는 안 해도 되는걸까?
- 블랙잭과 같이 복잡한 로직을 갖는 경우, 작은 단위로 테스트 해볼 수 있어 좋았음
- 생성자 테스트에 assertThatCode와 doesNotThrowAnyException()을 이용
링크
[설계] MVC - 5
내용
- domain, view, controller로 구조를 잡음
- controller의 역할을 어떻게 나누면 구조를 더 개선할 수 있을지 고민됨