[๐ ์ฌ์ดํด1 - ๋ฏธ์ (๋ธ๋์ญ ๊ฒ์ ์คํ)] ์ดํ ๋ฏธ์ ์ ์ถํฉ๋๋ค.#1012
[๐ ์ฌ์ดํด1 - ๋ฏธ์
(๋ธ๋์ญ ๊ฒ์ ์คํ)] ์ดํ ๋ฏธ์
์ ์ถํฉ๋๋ค.#1012jihwankim128 wants to merge 19 commits intowoowacourse:jihwankim128from
Conversation
* ์ฐธ๊ฐ์ ์ถ๊ฐ ์นด๋ ์คํ ํ ํ ๋ฒ๋ง ์นด๋ ๋ชฉ๋ก์ ์ถ๋ ฅํ๋๋ก ์์
์ฌ๊ธฐ์๋ถํฐ TDD๋ก ์งํํฉ๋๋ค.
* enum ๋ฏธ์ฌ์ฉ ๋ฉ์๋ ์ ๊ฑฐ * ๋ฏธ์ฌ์ฉ ํด๋์ค ์ ๊ฑฐ
yenawee
left a comment
There was a problem hiding this comment.
์๋
ํ์ธ์ ์ดํ! ๋ธ๋์ญ 1๋จ๊ณ ์ ๊ตฌํํด์ฃผ์
จ๋ค์.
ํ๋ฒ ๋ณด์ํ๊ณ ๋์ด๊ฐ ์ ๋ค ์ฝ๋ฉํธ๋ก ๋จ๊ฒจ๋จ์ผ๋ ํ์ธํด์ฃผ์ธ์๐
- ํ์ด ํ๋ก๊ทธ๋๋ฐ ๊ณผ์ ์์ '์๋'์ 'ํฉ์' ์ฌ์ด์ ๊ท ํ์ ์ด๋ป๊ฒ ์ก์์ผ ํ ๊น์?
์ค๋ฌด์์๋ ์ฐํ ์ฝ ๋ฐฉ์์ฒ๋ผ์ ์๋์ง๋ง ํ์ด๋ฅผ ๊ฝค ๋ง์ด ์งํํ๋ ๊ฑฐ ๊ฐ์์. ๋ณดํต ์ ๊ท ํ์ ์จ๋ณด๋ฉ ์, ํต์ฌ ๋ก์ง์ด๋ ๋ณต์กํ ๋น์ฆ๋์ค ์ํคํ ์ฒ ์ค๊ณ ์ ํ์ด๋ฅผ ํ์๋ ์ ์ด ์์ต๋๋ค. ํ์ด๋ฅผ ํ๋ฉด ๊ฐ๋ฐ์๋๊ฐ ๋๋์ง๋ ๊ฑด ๋ง์์. ๊ทธ๋ ์ง๋ง ์ฝ๋๋ฆฌ๋ทฐ+์๊ฒฌ ๋๋๋ ๋ฒ ๋ฐฐ์ฐ๊ธฐ+๋๋ฒ๊น ๋ฑ ๋์ค์ PR ๋ฆฌ๋ทฐํ๊ณ ํผ๋๋ฐฑ์ ๋ฐ์ผ๋ฉด์ ์ฝ๋๋ฅผ ์์ ํ๋ ์๊ฐ์ ๋จ์ถ๋ ์ ์๋ค๋ ์ฅ์ ๋ ์์ ๊ฑฐ ๊ฐ์์. ์๋ก ์๊ฐ์ ์ ํด๋๊ณ ํ ๋ก ์ ํ๊ฑฐ๋, ํ์ด ์ฌ์ด์ ๋ช ํํ ์ญํ ๋ถ๋ฆฌ๋ฅผ ํด์ ํ์ง์ด ์๋ ์ทจํฅ์ ๋ฌธ์ ๋ผ๋ฉด ํ์ฌ ํค๋ณด๋๋ฅผ ์ก๊ณ ์๋ ์ฌ๋์ ์๊ฒฌ์ ๋ฐ๋ฅด๋ ๋ฐฉ์๋ ์ข์ ๊ฑฐ ๊ฐ์์ :) - ์์์ ํตํ ์ฌ์ฌ์ฉ๊ณผ LSP(๋ฆฌ์ค์ฝํ ์นํ ์์น)์ ๋ํ ๊ณ ์ฐฐ
์ด ๋ถ๋ถ์ ์ฝ๋ฉํธ๋ก ๋ฌ์๋์ผ๋ ํ๋ฒ ๊ณ ๋ฏผํด๋ณด์๋๊ฒ ์ข์๊ฑฐ๊ฐ์์.
- ๋ฒ ํ ๊ธฐ๋ฅ์ด ์์ด๋ ๋๋ฌ์ ํ๋ ์ด์ด๋ ๊ท์น์ด ๋ค๋ฆ ๋๋ค.
- ๊ฐ์ฒด์งํฅ์ ํ์ค์ ๋ฌผ๋ฆฌ์ ๋ฒ์น์ ๊ทธ๋๋ก ์ฎ๊ธธ ํ์๊ฐ ์์ด์. ๋๋ฌ๋ ๊ฒ์์ ์งํํ๊ณ ์นด๋๋ฅผ ๋๋ ์ฃผ๊ณ ๊ฒ์์ ์ฐธ๊ฐ์ ์ญํ ๋ ํ์ง๋ง ๋ชจ๋ ๋๋ฌ์ ์ฑ ์์ผ๋ก ๋ฃ๋๋ค๋ฉด ๋๋ฌด ๋ง์ ์ฑ ์์ ๊ฐ์ง๊ฒ ๋๊ฒ ์ฃ . ๊ธฐ์กด์ ํ์ จ๋ CardDispenser๋ฅผ ๋ถ๋ฆฌํด ๋ ์ค๊ณ๊ฐ ์คํ๋ ค ์ฑ ์ ๋ถ๋ฆฌ๊ฐ ๋ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ฌ์.
- ์ปจํธ๋กค๋ฌ์ ์ฑ
์ ๋ฒ์์ ๋๋ฉ์ธ ๊ฐ์ฒด(BlackjackGame)์ ๋ํ ๊ณ ๋ฏผ
๋น์ฆ๋์ค ๋ก์ง์ ์์๋ ์ปจํธ๋กค๋ฌ๊ฐ ์๋ ๊ฒ์ด ์์ฐ์ค๋ฝ๋ค๊ณ ์๊ฐํด์. ํ์ง๋ง ์์ธ ๋น์ฆ๋์ค ๋ก์ง์ ๋๋ฉ์ธ ์์์ ์ฒ๋ฆฌํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
BlackjackGame ์ ๋์ ํ๋ค๋ฉด Dealer, Players ๋ฑ์ ๋ณ์๋ก ๊ฐ์ง ๊ฐ์ฒด๋ก ์ค๊ณํ๋ ๊ฒ์ด ์ข๋ค๊ณ ๋ด์. ๊ทธ๋ฌ๋ฉด ์ปจํธ๋กค๋ฌ๊ฐ ๋ณ์๋ค์ ๋ค๊ณ ๋ค๋๋ฉฐ ์กฐ์ํ ํ์๋ ์์ด ๊ฐ๋ฒผ์์ง ๊ฑฐ ๊ฐ๋ค์.
๋๋ฉ์ธ, UI ๋ถ๋ฆฌ ๊ด๋ จํด์๋ ํ์ฌ ์ฝ๋์ฒ๋ผ ์ปจํธ๋กค๋ฌ๊ฐ ๋๋ฉ์ธ ์ํ๋ฅผ ์ฝ๊ณ , UI ํธ์ถํ๋ค, ๋ค์ ๋๋ฉ์ธ์ ์ ๋ฐ์ดํธํ๋ ์ค์ฌ์ ์ญํ ์ ์ ํ๊ณ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ฌ์.
์ถ๊ฐ ๊ถ๊ธํ ์ ์์ผ๋ฉด ์ฝ๋ฉํธ๋ ๋์ ์ผ๋ก ๋จ๊ฒจ์ฃผ์ธ์! ๊ฐ์ฌํฉ๋๋ค :D
src/main/java/model/Cards.java
Outdated
| import java.util.List; | ||
| import java.util.stream.Stream; | ||
|
|
||
| public class Cards { |
There was a problem hiding this comment.
blackjack ๊ฒ์์์ Deck ์ด๋ผ๋ ์ฉ์ด๋ฅผ ์ฐ๋๋ฐ ๋ค์ด๋ฐ ๋ฐ๊ฟ๋ณด๋ ๊ฑด ์ด๋จ๊น์?
There was a problem hiding this comment.
๊ฐ์ฌํฉ๋๋ค! Card๋ผ๋ ๊ฐ์ฒด๊ฐ ์์ผ๋ฉด ์ด์ ๋ํ ์ผ๊ธ ์ปฌ๋ ์
์ ๊ทธ๋๋ก ๋ณต์ํ์ผ๋ก ํํํ๊ณ ์ ํ๋ ๊ณ ์ ๊ด๋
์ด ์์์ด์!
๊ทธ๋ฐ๋ฐ ๋ณด๋ค ์กฐ๊ธ ๋ ๋ช
ํํ ํํ์ ์ฌ์ฉํ๋๊ฒ ๋ ์ข๊ฒ ๊ตฐ์..!
src/main/java/model/Dealer.java
Outdated
|
|
||
| import java.util.List; | ||
|
|
||
| public class Dealer extends Player { |
There was a problem hiding this comment.
ํ์ฌ Dealer ๊ฐ Player ๋ฅผ ์์๋ฐ๊ณ ์์ด์. ๋์ ์ญํ ์ ๋ํด ๋ค์ ์๊ฐํด๋ณด๋ฉด ์ข์๊ฑฐ๊ฐ์์.
์ด ์์๊ด๊ณ๋ผ๋ฉด "๋๋ฌ๊ฐ ํ๋ ์ด์ด๋ค" ๊ฐ ์ฑ๋ฆฝํ๋์ง ์๊ฐํด๋ณผ๊น์?
Tip)
๋์ ๊ณตํต ํ์๋ฅผ ์๊ฐํด๋ณด๊ณ ๊ทธ ๊ณตํตํ์๋ฅผ ์ถ์ถํ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํด๋ด
์๋ค!
There was a problem hiding this comment.
์นด์ง๋
ธ ๊ฒ์ ์ฐธ์ฌ์๋ ๋๋ฌ๋ค, ์นด์ง๋
ธ ๊ฒ์ ์ฐธ์ฌ์๋ ํ๋ ์ด์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์ ๋ฐ๋๋๋ ๋ช
์ ๋ ์ฑ๋ฆฝํ๋ ๊ฒ ๊ฐ์์.
๋ฐ๋ฉด ๋๋ฌ๊ฐ ํ๋ ์ด์ด๋ค๋ ์์ ํ ๊ฐ์ ์ญํ ์ ํ์ง ์๋ ์ด์, ๋ช
์ ๊ฐ ์ฑ๋ฆฝ ๋ ์ ์๊ฒ ๋ค์ !
์ข์ ํผ๋๋ฐฑ ๊ฐ์ฌํฉ๋๋ค :)
src/main/java/model/Cards.java
Outdated
| return cards.removeLast(); | ||
| } | ||
|
|
||
| public int calculateScore() { |
There was a problem hiding this comment.
์ ์ ๊ณ์ฐ์ด๋ Ace ์นด๋ ์ ์ธ๊ธฐ ๋ฑ์ ์ฐธ๊ฐ์๊ฐ ๊ฐ์ง๊ณ ์๋ ์นด๋๋ค์์ ํํด์ง๋ ํ๋๋ค์ด๊ฒ ์ฃ ?
CreateDeck Shuffle, pickCard ๋ฑ์ ๋ฑ์์ ํํด์ง๋ ํ๋๋ค ๊ฐ์์.
์ฑ ์์ ๋ถ๋ฆฌํด๋ด ์๋ค!
There was a problem hiding this comment.
์์ Cards ํด๋์ค๋ฅผ Deck์ผ๋ก ๋ณ๊ฒฝํ๋ ์ ์์ ์ฃผ์ จ๋๋ฐ, ํด๋น ๋ฆฌ๋ทฐ๋ฅผ ๋ณด๋ Deck ๊ฐ์ฒด๋ก Cards๋ฅผ ๋ฐ๋ก ๊ด๋ฆฌํ๋๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์์ด์!
์ต์ข ์ ์ผ๋ก ์๋์ ๊ฐ์ ๊ท์น์ ๋ง๋ค๊ฒ ๋์ต๋๋ค!
- Cards๋ Card์ ์ํ๋ฅผ ๊ด๋ฆฌํ๋ค.
- Deck์ Card ์ ๋ณด๋ค๋ก ๋ธ๋์ญ๋ง์ ์ํ ๋์์ ๋ด๋นํ๋ค.
|
|
||
| private void printGameResult(Dealer dealer, List<Player> players) { | ||
| PlayerResult playerResult = PlayerResult.judgeByPlayer(dealer, players); | ||
| int winCount = playerResult.countByStatus(GameStatus.LOSE); |
There was a problem hiding this comment.
๋๋ฌ ๊ด์ winCount ๊ฒ ์ฃ ? ๊ทธ๋ฌ๋ฉด ๋ณ์๋ช ์ ๋ช ํํ dealerWinCount ๋ผ๊ณ ํด๋ณด๋๊ฒ ์ด๋จ๊น์?
There was a problem hiding this comment.
๊ฐ์ฌํฉ๋๋ค :)
Lose ์ํ์ count๋ฅผ ๊ฐ์ ธ์ค๋๋ฐ winCount๋ผ๋ ๋ณ์๋ฅผ ๋ฐ์ผ๋, ์คํด์ ์ฌ์ง๊ฐ ์๋ค์!
src/main/java/model/Cards.java
Outdated
| .count(); | ||
| } | ||
|
|
||
| public List<Card> getCard() { |
There was a problem hiding this comment.
๋ด๋ถ ๋ฆฌ์คํธ๋ฅผ ๋ฐ๋ก ๋ฐํํ๋ค๋ฉด ์ธ๋ถ์์ cards ๋ฅผ ๋ณ๊ฒฝ์ํฌ ์ ์์ด์.
๋ณต์ฌ ํ ๋ฐํํ๋ ๊ฑด ์ด๋จ๊น์?
There was a problem hiding this comment.
public class Cards {
private final List<Card> cards;
public Cards(List<Card> cards) {
// this.cards = cards;
this.cards = new ArrayList<>(cards);
}
...
}๊ฐ์ฌํฉ๋๋ค. ์ฃผ์ ํผ๋๋ฐฑ์ ์ด์ด ์์ฑ์์์๋ ์๋ก ์ฃผ์ ๊ฐ์ ํ ๋นํด ์ ์ฅํ๋๋ก ํ๊ฒ ์ต๋๋ค!
| this.result = result; | ||
| } | ||
|
|
||
| public static PlayerResult initResult() { |
There was a problem hiding this comment.
์ฌ์ฉํ์ง ์๋ ๋ฉ์๋๋ ์ ๊ฑฐํฉ์๋ค
src/main/java/model/Dealer.java
Outdated
| public class Dealer extends Player { | ||
|
|
||
| private static final String DEALER_NAME = "๋๋ฌ"; | ||
| private static final int MINIMUM_STAND_SCORE = 16; |
|
|
||
| public static List<String> readPlayerNames() { | ||
| System.out.println("๊ฒ์์ ์ฐธ์ฌํ ์ฌ๋์ ์ด๋ฆ์ ์ ๋ ฅํ์ธ์.(์ผํ ๊ธฐ์ค์ผ๋ก ๋ถ๋ฆฌ)"); | ||
| return Arrays.stream(readLine().split(",")) |
There was a problem hiding this comment.
ํ๋ ์ด์ด ์ด๋ฆ ๊ฒ์ฆ ์ถ๊ฐํด๋ณด๋๊ฒ ์ด๋จ๊น์?
There was a problem hiding this comment.
์ด๋ฐ ๋ถ๋ถ๋ ํญ์ ๊ณ ๋ฏผ์ด ๋์๋๋ฐ, PR์ ์ถ๊ฐํ์ง ๋ชปํ๋ค์ ใ ใ
์๊ตฌ์ฌํญ์ ๋ช ์๋์ง ์์ ๊ฒ์ฆ์ ์ถ๊ฐํด์ผํ๋๊ฐ?
์ง๊ธ ์ด๋ฆ์ด๋ผ๋ ์ ๋ณด๋ ์ ํฌ๊ฐ ์ถ๊ฐํ๋ ๊ท์น์ด ๋ ๊ฒ ๊ฐ์๋ฐ,
๊ฐ๋ฐ์๋ ํ์์ ๋ฐ๋ผ ์๊ตฌ์ฌํญ์ ๋ช
์๋์ง ์์ ๊ท์น์ ์ถ๊ฐํด๋ ๋๋์?
์ค๋ฌด์์๋ ๋ง์๋๋ก ์ถ๊ฐํ ๊ฒฝ์ฐ ์ ์ฌ๋ฅผ ๋จน๊ฒ ์ง? ๋ผ๋ ์๊ฐ์ผ๋ก ์ฃผ์ด์ง ์๊ตฌ์ฌํญ์ ๊ตฌํํ๋ ๊ฒ์ ์ด์ ์ ๋์ต๋๋ค.
์ ๋์ ๊ฒฝ์ฐ, ์์ธกํ ์ ์๋ ๋ฒ์์ ๊ฒ์ฆ์ ๊ทธ๋ฅ ์ถ๊ฐํ์๋์?!
| .toList(); | ||
| } | ||
|
|
||
| public static String readMoreCard(String playerName) { |
There was a problem hiding this comment.
์๋ชป๋ ์ ๋ ฅ๊ฐ ์ ๋ ฅ์ ์ฌ์ ๋ ฅ ์ฒ๋ฆฌ๋ ํ๋ฒ ๊ณ ๋ฏผํด๋ณผ๊น์?
There was a problem hiding this comment.
์์ ๋ต๋ณ๊ณผ ๊ฐ์ ๋ด์ฉ์ผ๋ก ๊ถ๊ธํฉ๋๋ค :)
#1012 (comment)
|
|
||
| private void printGameResult(Dealer dealer, List<Player> players) { | ||
| PlayerResult playerResult = PlayerResult.judgeByPlayer(dealer, players); | ||
| int winCount = playerResult.countByStatus(GameStatus.LOSE); |
There was a problem hiding this comment.
๊ฒฐ๊ณผ ๊ณ์ฐ์ ๋๋ฉ์ธ ๋ก์ง์ผ๋ก ๋๊ฒจ์ฃผ์ธ์
There was a problem hiding this comment.
๊ฐ์ฌํฉ๋๋ค! ํ์คํ ๊ฒฐ๊ณผ ๊ณ์ฐ ํ ์กฐํํ๋๋ก ํ๋๊ฒ ๋ ๊น๋ํ๊ฒ ๋ค์...
count๋ผ๋ ๋ฉ์๋๋ ๋จ์ํ ์กฐํ์ฉ์ด ์๋๋ผ ๋น์ฆ๋์ค ๋ก์ง์ฒ๋ผ ๋๊ปด์ง๋ค์!
์ข์ ํผ๋๋ฐฑ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค :)
* ํจํค์ง ๋ถ๋ฅ * Cards๋ฅผ Hand, Deck์ผ๋ก ๊ธฐ๋ฅ ๋ณ ์ผ๊ธ ์ปฌ๋ ์ ์ผ๋ก ๋ถ๋ฆฌ * CardShuffler ๋์ ์ผ๋ก ๊ตฌํ ๊ฒฐํฉ๋ ๊ฐ์
๊ฐ์
์๋ ํ์ธ์ ์ ๋, ์ด๋ฒ์ ๋ธ๋์ญ ๋ฏธ์ ์ ์ํํ๊ฒ๋ ์ดํ๋ผ๊ณ ํฉ๋๋ค.
ํ์ดํ๋ก๊ทธ๋๋ฐ์ ์ฒ์ ์งํํ๋ฉด์ ๋ค๋น๊ฒ์ดํฐ์ ๋์์ ๋ฐ์, ๋ ๋์ ์์ผ๋ก ํ๋ก๊ทธ๋๋ฐ์ ์ํ ์ ์๋ค๋ ๊ฒ์ ๋ฐฐ์ ์ต๋๋ค. ์์ฑ๋๋ ๋ฎ์ ์ ์๊ฒ ์ง๋ง step2์์ ๋ ๋์ ์์ฑ๋๋ก ๋ฆฌํฉํ ๋งํ๊ธฐ ์ํด ๋ง์ ์กฐ์ธ์ ๋ฐ๊ณ ์ถ์ต๋๋ค ๐
์๋์์ด ์กฐ์ธ์ ์ฃผ์๋ฉด ์ฑ์ฅ์ ํฐ ๋์์ด ๋ ๊ฒ ๊ฐ์์!
์ฒดํฌ ๋ฆฌ์คํธ
test๋ฅผ ์คํํ์ ๋, ๋ชจ๋ ํ ์คํธ๊ฐ ์ ์์ ์ผ๋ก ํต๊ณผํ๋์?์ด๋ค ๋ถ๋ถ์ ์ง์คํ์ฌ ๋ฆฌ๋ทฐํด์ผ ํ ๊น์?
1. ํ์ด ํ๋ก๊ทธ๋๋ฐ ๊ณผ์ ์์ '์๋'์ 'ํฉ์' ์ฌ์ด์ ๊ท ํ์ ์ด๋ป๊ฒ ์ก์์ผ ํ ๊น์?
ํ์ด ํ๋ก๊ทธ๋๋ฐ์ ์งํํ๋ฉฐ ์ฌ๊ณ ํ์ฅ ๋ฑ ํ์ต ํจ๊ณผ๋ฅผ ํฌ๊ฒ ๋๋ผ๊ณ ์์ง๋ง, ์์ฌ๊ฒฐ์ ๊ณผ์ ์์ ๋ฐ์ํ๋ '์๋ ์ ํ'๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํด์ผ ํ ์ง ๊ณ ๋ฏผ์ด ๋์ด ์ง๋ฌธ๋๋ฆฝ๋๋ค.
2. ์์์ ํตํ ์ฌ์ฌ์ฉ๊ณผ LSP(๋ฆฌ์ค์ฝํ ์นํ ์์น)์ ๋ํ ๊ณ ์ฐฐ
๋ธ๋์ญ ๋ฏธ์ ์ ๊ตฌํํ๋ฉฐ Dealer์ Player ์ฌ์ด์ ๊ณตํต์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์์์ ํ์ฉํ์ผ๋, ์ด ๊ณผ์ ์์ ๊ฐ์ฒด์ ์ฑ ์๊ณผ LSP ์ฌ์ด์์ ๊ณ ๋ฏผ์ด ๋ฐ์ํด ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์ด๊ธฐ ์ค๊ณ์์๋ Dealer๊ฐ Player์ ์์ฑ(์ด๋ฆ, ์นด๋ ๊ด๋ฆฌ, ์ ์ ๊ณ์ฐ)์ ๊ณต์ ํ๋ค๋ ์ ์ ์ง์คํด ์์ ๊ด๊ณ(Dealer extends Player)๋ฅผ ๋งบ์์ต๋๋ค. ์ดํ "์ค์ ์ธ๊ณ์์ ๋๋ฌ๊ฐ ์นด๋๋ฅผ ๋๋ ์ค๋ค"๋ ์ง๊ด์ ๋ฐ์ํ๊ธฐ ์ํด, ๊ธฐ์กด CardDispenser์ ์๋ '๋ฑ ๊ด๋ฆฌ'์ '์นด๋ ๋ถ๋ฐฐ' ์ฑ ์์ Dealer์๊ฒ ํตํฉํ๋ ๋ฆฌํฉํ ๋ง์ ์งํํ์ต๋๋ค. (commit: d677afa)
๋ฆฌํฉํ ๋ง ํ, ๋ค์๊ณผ ๊ฐ์ ์ค๊ณ์ ๋ชจ์์ ๋ฐ๊ฒฌํ์ต๋๋ค.
3. ์ปจํธ๋กค๋ฌ์ ์ฑ ์ ๋ฒ์์ ๋๋ฉ์ธ ๊ฐ์ฒด(BlackjackGame)์ ๋ํ ๊ณ ๋ฏผ
MVC ํจํด์ ์ ์ฉํ๋ฉฐ Controller๊ฐ ๋น์ฆ๋์ค ๋ก์ง์ ์์ธํ ํ๋ฆ์ ์ด๋๊น์ง ์ ์ดํด์ผ ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ๋๋ฉ์ธ ๊ฐ์ฒด๋ก ์บก์ํํ๋ ๊ธฐ์ค์ ๋ํด ๊ณ ๋ฏผ์ด ์๊ฒจ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
ํ์ฌ BlackjackController๋ ๋จ์ํ ๋ชจ๋ธ๊ณผ ๋ทฐ๋ฅผ ์ฐ๊ฒฐํ๋ ์ญํ ์ ๋์ด, ๋ค์๊ณผ ๊ฐ์ ๋ธ๋์ญ ํ๋ฆ์ ์ง์ ์ ์ดํ๊ณ ์์ต๋๋ค.
์ปจํธ๋กค๋ฌ๊ฐ ๋ฑ๋ฑํด์ง๋ ํ์์ ํผํ๊ณ ์ถ์์ง๋ง, ์ฌ์ฉ์์ ์ ๋ ฅ(InputView)์ ๋ฐ๋ผ ๋๋ฉ์ธ ์ํ๊ฐ ๋ณํ๋ ๊ตฌ์กฐ(์: ์นด๋๋ฅผ ๋ ๋ฐ์์ง ๋ง์ง ๊ฒฐ์ , ๋๋ฉ์ธ ์ฒ๋ฆฌ์ ๋ฐ๋ฅธ ์ฆ๊ฐ ์ถ๋ ฅ ๋ฑ)๋๋ฌธ์ ๋ก์ง์ ๋๋ฉ์ธ์ผ๋ก ์์ ํ ๋ฐ์ด ๋ฃ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช์์ต๋๋ค.
BlackjackGame๊ณผ ๊ฐ์ ๋ณ๋์ ๋๋ฉ์ธ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด Dealer, Players๋ฅผ ๊ฐ์ธ๊ณ ๊ฒ์์ ์งํ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ฒ ํ๋ ๊ฒ์ด MVC ํจํด์ ๋ณธ์ง์ ๋ ๊ฐ๊น์ด ๊ฒ์ธ์ง, ์๋๋ฉด ํ์ฌ์ฒ๋ผ ํ๋ฆ์ ๋ช ์์ ์ผ๋ก ๋ณด์ฌ์ฃผ๋ ์ปจํธ๋กค๋ฌ ๊ตฌ์กฐ๋ ๊ด์ฐฎ์๊ฑด์ง ๊ณ ๋ฏผ์ด ๋์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.