์ธ ๋ฒ์งธ ๋ฏธ์ ์ธ ์ฌ๋ค๋ฆฌ ํ๊ธฐ๋ ์๋ฐ 8์ ์คํธ๋ฆผ, ๋๋ค๋ฅผ ์ฌ์ฉํด ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ํ์ฉํ๋ ๊ฒ์ด ์ฃผ๋ ๋ชฉํ์ ๋๋ค.
๋ค ๋ฒ์งธ ๋ฏธ์ ์ธ ์๊ฐ์ ์ฒญ์ ๋ ๊ฑฐ์ ์ฝ๋๋ฅผ ๋ฆฌํฉํฐ๋ง ํ๋ ๊ฒ์ด ์ฃผ๋ ๋ชฉํ์ ๋๋ค.
์ธ ๋ฒ์งธ ๋ฏธ์ ์ธ ์ฌ๋ค๋ฆฌ ํ๊ธฐ์์ ๊ฒฝํํด์ผ ํ ๋ชฉํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์๋ฐ 8์ ์คํธ๋ฆผ, ๋๋ค๋ฅผ ํ์ฉํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
- In -> Out, Out -> In ๋ฐฉ์์ผ๋ก ๋๋ฉ์ธ ๊ฐ์ฒด๋ฅผ ์ค๊ณํ๋ ๊ฒฝํ
- ์ฑ ์ ์ฃผ๋ ์ค๊ณ ๊ธฐ๋ฐ ์ธํฐํ์ด์ค๋ฅผ ํ์ฉํ ํ๋ก๊ทธ๋๋ฐ
๋ค ๋ฒ์งธ ๋ฏธ์ ์ธ ์๊ฐ์ ์ฒญ์์ ๊ฒฝํํด์ผ ํ ๋ชฉํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ ๊ฑฐ์ ์ฝ๋๋ฅผ ๋ฆฌํฉํฐ๋ง ํ ๋ ํ ์คํธ ์ฝ๋๋ฅผ ํตํด ๋ณดํธํ๋ ๊ฒฝํ
- Q&A ์๋น์ค์ ์ง๋ฌธ ์ญ์ ํ๊ธฐ ๊ธฐ๋ฅ์ ๋ ๊ฑฐ์ ์ฝ๋๋ฅผ ๋ฆฌํฉํฐ๋งํ๋ ๊ฒฝํ
- DB ํ ์ด๋ธ๋ณด๋ค ๋๋ฉ์ธ ๋ชจ๋ธ์ TDD ๊ธฐ๋ฐ์ผ๋ก ๋จผ์ ๊ฐ๋ฐํด ๋ณด๋ ๊ฒฝํ
- ๋ ๊ฑฐ์ ์ฝ๋๋ฅผ ์ ์ง์ ์ผ๋ก ๋ฆฌํฉํฐ๋ง ํด๋ณด๋ ๊ฒฝํ
๋ฏธ์ 3 - ์ฌ๋ค๋ฆฌํ๊ธฐ(FP, OOP)
- 1๋จ๊ณ - ์คํธ๋ฆผ, ๋๋ค, Optional
- 2๋จ๊ณ - ์ฌ๋ค๋ฆฌ(์์ฑ)
- 3๋จ๊ณ - ์ฌ๋ค๋ฆฌ(๊ฒ์ ์คํ)
(IntelliJ) ํ์ผ ๋์ ๊ฐํ์ ์๋์ผ๋ก ์ถ๊ฐํ์.
์ฑ ์๊ณผ ์ญํ ์ ์ ์ ํ ๋ถ๋ฆฌ
splitํ๋ ์ฑ ์์ InputView๊ฐ ๊ฐ์ง๋ ๊ฒ์ด ๋ง์ ๊ฒ ๊ฐ์์!
Participants๋ List<String>๋ง ๋ฐ์์ ์์ฑํ๋๋ก ๋ณ๊ฒฝํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค์
๊ธฐ์กด ์ฝ๋๋ Participants ๊ฐ์ฒด์ ์์ฑ์์์ ์ด๋ฆ์ ์ ๋ ฅ๋ฐ๊ณ split ํ๋ ๋ก์ง๊น์ง ํฌํจ๋์ด ์์๋๋ฐ ์ด ์ฑ ์์ InputView ๊ฐ์ฒด๊ฐ ๊ฐ์ง๋๋ก ๋ณ๊ฒฝํ์ต๋๋ค.
์ฝ๋๊ฐ ๋ณ๊ฒฝ๋๋ ์ผ์ด์ค๋ฅผ ๊ณ ๋ คํ์ ๋ split์ด ์๋๊ฑฐ๋ split์ ๊ตฌ๋ถ์(NAME_DELIMITER)๊ฐ ๋ณ๊ฒฝ๋๋ค๋ฉด ๊ธฐ์กด ์ฝ๋๋ ๋๋ฉ์ธ(Participants) ๊ฐ์ฒด์ ๋ณ๊ฒฝ์ด ํ์ํ์ง๋ง, ์๊ฐํด๋ณด๋ฉด ๋๋ฉ์ธ ๊ฐ์ฒด๊ฐ ๋น์ฆ๋์ค ๋ก์ง์ด ์๋ ์ธ๋ถ ์์ธ์ผ๋ก ์ธํด ๋ณ๊ฒฝํ๋ ์ผ์ด์ค๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ ๋ ฅ๋ฐ์ ์ด๋ฆ์ split ํ๋ ์ญํ ์ View ํด๋์ค์๊ฒ ์์ํฉ๋๋ค.
ํ์ฌ ์ฝ๋๋ ๋๋ฉ์ธ์ด view๋ฅผ ์์กดํ๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ง์ฝ ์ถ๋ ฅ ์๊ตฌ์ฌํญ์ด ๋ณ๊ฒฝ๋์ด ๋ค๋ฅธ ----- ๊ฐ ์๋ ~~~~~ ๋ก ๋ณ๊ฒฝ๋๋ค๊ณ ํ์ ๋ ๋๋ฉ์ธ์ด ์์ ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
Line์ Line ์์ฑ์๋ง ์ง์คํ๊ณ Line์ ๊ทธ๋ฆฌ๋ ๊ฒ์ view ํจํค์ง ๋ด ํด๋์ค๊ฐ ์ฒ๋ฆฌํ๋ฉด ๋ ๊ฒ ๊ฐ์์.
์ Participants์ ๋์ผํ๊ฒ ๋๋ฉ์ธ(Line)์ด View๋ฅผ ์์กดํ๊ณ ์๋ ์ฝ๋์ ๋๋ค.
ํ ์คํธ ๋ค์ด๋ฐ์ ๊ฐ๋ ์ฑ์ ๊ณ ๋ คํ๊ธฐ
As-Is)
To-Be)
๋ฏธ์ 4 - ์๊ฐ์ ์ฒญ(๋ ๊ฑฐ์ ์ฝ๋ ๋ฆฌํฉํฐ๋ง)
๊ฐ๋ ์ฑ์ด ์ข์ ํ ์คํธ ์ฝ๋
ํด๋น ํ ์คํธ ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ํด์ ์ฌ๋ฌ ํจ์๋ค์ ์์๋ด์ผ ํ๋ ๊ตฌ์กฐ๋ก ๋์ด์์ด์.
๊ฐ๋์ฑ์ด ์ข์ ๊ตฌ์กฐ๋ก ํ ์คํธ ์ฝ๋ ์์ฑํด๋ณด๋๊ฒ๋ ์ข์ ๊ฒฝํ์ผ๊ฒ ๊ฐ์์.
์ฐ๊ด๋ ์ํ๋ฅผ ๋ฌถ์ด์ ๊ด๋ฆฌํ๋ ๊ฐ์ฒด(VO) ๋์ถํ๊ธฐ
์ฐ๊ด๋ ์ํ๋ฅผ ๋ฌถ์ด์ ๊ด๋ฆฌํ๋ ๊ฐ์ฒด๋ฅผ ๋์ถํด๋ผ์ ์์๊น์?
๊ทธ๋ ๊ฒ ๋๋ค๋ฉด, ์ธ์คํด์ค ๋ณ์ ๊ฐฏ์๋ ์ค์ด๋ค๊ฒ ๊ฐ๊ตฌ์.
'๊ฐ์ ์ ๋ฆฌ > TDD, ํด๋ฆฐ ์ฝ๋ with Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TDD, ํด๋ฆฐ ์ฝ๋ with Java (๋ฏธ์ 2. ๋ก๋ - TDD) (1) | 2023.05.13 |
---|---|
TDD, ํด๋ฆฐ ์ฝ๋ with Java (๋ฏธ์ 1. ์๋์ฐจ ๊ฒฝ์ฃผ - ๋จ์ ํ ์คํธ) (2) | 2023.04.25 |
๋๊ธ