NextStep DDD ์ธ๋ ๋๋ฐ ์๋ฃ ํ๊ธฐ
๊ณ๊ธฐ
4.30 ~ 6.10๊น์ง DDD ์ธ๋ ๋๋ฐ 6๊ธฐ ๊ณผ์ ์ ์ฐธ๊ฐํ๋ค. ์ ๊ณผ์ ์ ๋ฃ๊ฒ ๋ ์ด์ ๋
- ๋ฅ์คํธ์คํ ๊ฐ์ ์ค ๋ฃ๊ณ ์ถ์๋ ๊ฐ์ ์ค ํ๋์๊ธฐ๋ ํ๊ณ ,
- ๊ธฐ์๋ณ๋ก ๊ฑฐ์ ์ผ ๋ ์ ํ ๋ฒ ์ด๋ฆฌ๊ธฐ์ 2๋ ์ฐจ์ธ ์ง๊ธ์ด ์ ๊ธฐ๋ผ ์๊ฐํ๊ณ ,
- DDD๊ด๋ จํด์๋ ์ฑ ์ผ๋ก ์ด๋ก ๊ณต๋ถ๋ง ํ์๋๋ฐ ์ค์ต์ ํด๋ณด๊ณ ์ถ์๊ณ ,
- ํ์ฌ ํ๋ก์ ํธ์์ ์ด ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ ๋ฌด์ ๋์์ด ๋ ๊ฑฐ๋ผ ์๊ฐํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ปค๋ฆฌํ๋ผ
๊ฐ์ ์ปค๋ฆฌํ๋ผ์ ๋ค์๊ณผ ๊ฐ๋ค.
1์ฃผ์ฐจ - ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ ์ดํด
์ฒซ ์ฃผ๋ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ์ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ์ ๋ํด์ ํ์ตํ๋๋ฐ, '๋๋ฉ์ธ', '๋ชจ๋ธ', '๋๋ฉ์ธ ๋ชจ๋ธ', '๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ'๋ผ๋ ๋จ์ด์ ์ ์์ ๋ํด ์๊ฐํด ๋ณด๋ ์๊ฐ์ ๋ง์ด ๊ฐ์ก๋ค. ๋ฏธ์ ์์๋ 2๋จ๊ณ์ 3๋จ๊ณ๊ฐ ๊ฐ์ธ์ ์ผ๋ก ๋ง์ ๋์์ด ๋์๋ค.
- 0๋จ๊ณ - JUnit 5 ํ์ต
- 1๋จ๊ณ - ๋ฌธ์์ด ๋ง์ ๊ณ์ฐ๊ธฐ
- 2๋จ๊ณ - ์๊ตฌ ์ฌํญ ์ ๋ฆฌ
- 3๋จ๊ณ - ํ ์คํธ๋ฅผ ํตํ ์ฝ๋ ๋ณดํธ
2๋จ๊ณ ์๊ตฌ ์ฌํญ ์ ๋ฆฌ์์๋ ํ๋ก์ ํธ์ ์๊ตฌ์ฌํญ์ ์ ๋ฆฌํ๋ ์์ ์ ํ๋๋ฐ, ์๋ฅผ ๋ค์ด "์ํ๋ช ์ ๋น์ด์์ผ๋ฉด ์ ๋๊ณ ๋น์์ด๋ ํฌํจ๋๋ฉด ์ ๋๋ค."์ ๊ฐ์ ๊ฒ๋ค์ ์์ฑํ๋ ๊ฒ์ด๋ค. ์ฒ์์ ๋๋ "์ํ๋ช ์ null์ด๋ฉด ์๋๋ค."์ ๊ฐ์ด ๊ฐ๋ฐ์ ๊ด์ ์์๋ง ์์ฑํ์๋๋ฐ, ์๊ตฌ ์ฌํญ์ ํ๋ก์ ํธ์ ์ฐธ์ฌํ๋ ์ ์ง๊ตฐ์ ์์ฐ๋ฅด๋ ๋ชจ๋ ์ดํด๊ด๊ณ์๋ค์ด ์ ๋ถ ์ดํดํ ์ ์๋๋ก ์์ฑํด์ผ ํ๋ค๋ ์ ์ ๋ฐฐ์ ๋ค.
3๋จ๊ณ ํ ์คํธ๋ฅผ ํตํ ์ฝ๋ ๋ณดํธ๋ ๋จ์ํ ์คํธ๋ฅผ ์์ฑํ๋ฉด์ Fake ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ Mock ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ณ , ๊ฐ๊ฐ์ ์ฐจ์ด์ ์ ๋ํด ํ์ตํ๋ค.
- Mock ๊ฐ์ฒด: Stub ๋ฐฉ์์ ์ด์ฉํด ํ์ดํธ ๋ฐ์ค ํ ์คํธ ํ์์ผ๋ก ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ค. ๋ด๋ถ ๋ก์ง์ ์ ํํ ์๊ณ ์์ด์ผ ํ๊ณ , ๋น ๋ฅด๊ฒ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ง๋ง given ์ ์ด ๋ง์์ง์๋ก ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๊ณ , ๋ด๋ถ ๋์์ ํ๋ฆ์ ์ํฅ์ ๋ฐ๊ธฐ ๋๋ฌธ์ ์ฝ๋ ๋ฆฌํฉํฐ๋ง ์ ํ ์คํธ ์ฝ๋์ ๋ณ๊ฒฝ๋ ๋ง์ด ํ์ํ ์๋ ์๋ค.
- Fake ๊ฐ์ฒด: ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์์กดํ์ง ์๊ณ ๋ธ๋๋ฐ์ค ํ์์ผ๋ก ํตํฉ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ฏ์ด ๊ฒฐ๊ณผ๋ง ํ์ธํ๋ฉด ๋์ด์ ํธํ๊ณ ๊ฐ๋ ์ฑ ์๊ฒ ์์ฑํ ์ ์๋ค. ํ์ง๋ง ์ด๊ธฐ ์ธํ ์์ ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ณ ๊ท์ฐฎ๋ค๋ ๋จ์ ์ด ์กด์ฌํ๋ค.
๋จ์ํ ์คํธ ํ๋ฉด ๋ฐ๋ํ์ ๊ณ ์ ํ์ ๋ ผ์์ ๋ํ ์ด์ผ๊ธฐ๊ฐ ๋์ค๋๋ฐ, ์ฌ์ค ์ด๋ฐ ๊ฑด ์ ๋ชจ๋ฅด๊ฒ ๊ณ ๋๋ ๊ฐ์ธ์ ์ผ๋ก ์ด๋ฐ์ ์กฐ๊ธ ๊ท์ฐฎ๋๋ผ๋ ํตํฉํ ์คํธ์ฒ๋ผ ๊ฒฐ๊ณผ๋ง ๊ฒ์ฆํ๋ฉด ๋๋ Fake ๋ฐฉ์์ ์ ํธํ๋ ๊ฒ ๊ฐ๋ค. (๋ฌผ๋ก ์ธ๋ถ I/O๋ค์ ๋ถ๋ถ์ ์ผ๋ก Mock์ ์ฌ์ฉํ๊ณ ,,)
์๋๋ ์ฐธ๊ณ ํ๋ฉด ์ข์ ์ํฐํด๋ค์ด๋ค.
- ATDD by Example - 11st.๋ฐฑ๋ช ์
- ํ ์ค | SLASH 21 - ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง 100%
- ํ ์คํธ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ
์ด๋ฒคํธ ์คํ ๋ฐ
์ค๊ฐ์ ์ฐ์ํ ํ ํฌ์ด๋กฑ์์ ์คํ๋ผ์ธ์ผ๋ก ์ด๋ฒคํธ ์คํ ๋ฐ์ ์งํํ๋ค. ์ด์ ๊น์ง ์ฌ๋ฌ ๊ธฐ์ ๋ค์ ๊ธฐ์ ๋ธ๋ก๊ทธ๋ฅผ ํตํด ์ด๋ฒคํธ ์คํ ๋ฐ์ ํ๋ ์ด์ ์ ๋ํด์๋ ์๊ณ ์์์ง๋ง, ์ด๊ฒ ์ญ์ ๊ธ๋ก๋ง ๋ดค๋ค ๋ณด๋ ์ค์ ๋ก ์ด๋ป๊ฒ ์งํ๋๊ณ ์ด๋ค ํจ์ฉ์ด ์๋์ง๋ ์ง์ ์ ์ผ๋ก ๋๋ผ์ง ๋ชปํ์๋ค. ํ์ง๋ง ์ด๋ฒ ๊ธฐ์์์ ์ง์ ์คํ๋ผ์ธ์ผ๋ก ์ฐธ๊ฐํ์ฌ ์งํํด ๋ณด๋ฉด์, ๊ทธ ์งํ ๋ฐฉ์๊ณผ ํจ์ฉ์ ๋ํด ์๊ฒ ๋์๋ค.
์ด๋ฒคํธ ์คํ ๋ฐ(Event Storming)์ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ์์ ์ฌ์ฉํ๋ ์ํฌ์ ๊ธฐ๋ฒ์ผ๋ก, ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ์ ๊ฐ๋ฐ์๊ฐ ํจ๊ป ์์คํ ์ ๋ณต์กํ ๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ฅผ ์๊ฐ์ ์ผ๋ก ํํํ๊ณ ์ดํดํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. ์งํ ๋ฐฉ๋ฒ์ ๋ํด์๋ ์๋์ ์์๋ค์ ์ฐธ๊ณ ํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
- ์ด๋ฒคํธ ์คํ ๋ฐ ์ธ ์ก์ : ์ด๋ฒคํธ ์คํ ๋ฐ ์๊ฐ์ ์ ์ฉ ๋ฐฉ๋ฒ
- KCD 2020 [Track 2] ๋๋ฉ์ธ ์ง์ ํ๊ตฌ๋ฅผ ์ํ ์ด๋ฒคํธ ์คํ ๋ฐ Event Storming
์ด๋ฒคํธ ์คํ ๋ฐ์ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ์์ ์ฌ์ฉํ๋ ์ํฌ์ ๊ธฐ๋ฒ์ด๋ผ๊ณ ํ์ง๋ง, ์ด๋ฌํ ์ค๊ณ๊ฐ ์๋๋๋ผ๋ ํ์ ์๋ก์ด ์ธ์์ด ๋ค์ด์ค๊ฑฐ๋ ๋ฐ๊ธฐ๋ณ๋ก ํ ๋ฒ์ฉ ์งํํ๋ฉด ๋๋ฉ์ธ์ ๋น ๋ฅด๊ฒ ์ดํดํ๊ณ ์์คํ ์ ๋ณต์กํ ๋ถ๋ถ์ด๋ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ์ฌ์ ์ ๋ฐ๊ฒฌํ ์ ์์ด์ ๋งค์ฐ ๋์์ด ๋๋ค๊ณ ์๊ฐ๋์๋ค.
2์ฃผ์ฐจ - ํฌ๊ฒ ์๋ฆฌ๋ด์ด ๋ชจ๋ธ๋ง ํ๊ธฐ
2์ฃผ์ฐจ๋ ์ ๋น์ฟผํฐ์ค ์ธ์ด์, ๋ฐ์ด๋๋ ์ฝํ ์คํธ์ ๋ํ ๊ฐ๋ ์ ๋ํด ํ์ตํ๊ณ , '์ฉ์ด์ฌ์ ์ ์'์ '๋ชจ๋ธ๋ง'์ ๋ํด ๋ฏธ์ ์ ์งํํ๋ค.
- 1๋จ๊ณ - ์ฉ์ด ์ฌ์ ๋ง๋ค๊ธฐ
- 2๋จ๊ณ - ๋ชจ๋ธ๋ง ํ๊ธฐ
- 3๋จ๊ณ - ๊ธฐ๋ฅ ์ฐ์ ํจํค์ง ๊ตฌ์ฑํ๊ธฐ
1๋จ๊ณ ์ฉ์ด ์ฌ์ ๋ง๋ค๊ธฐ ๋ฏธ์ ์ ์งํํ๋ฉด์ '์ด๋ฐ ๊ฑด ์ฌ๋ด์ ๋์ ๋๋ฉด ์ ๋ง ์ข์ ๊ฒ ๊ฐ๋ค'๋ผ๋ ์๊ฐ์ด ๋ค์๋ค. ์ฉ์ด ์ฌ์ ์ ์ ์ํ๋ ์ด์ ๋ ํ๋ก์ ํธ๋ ์กฐ์ง ๋ด์์ ์ฌ์ฉ๋๋ ์ค์ํ ์ฉ์ด์ ๊ฐ๋ ์ ๋ช ํํ๊ฒ ์ ์ํ์ฌ ๊ตฌ์ฑ์๋ค ๊ฐ์ ์์ฌ์ํต์ ์ํํ๊ฒ ํ๊ธฐ ์ํด์์ด๋ค. ์๋ฅผ ๋ค๋ฉด ์ด์ปค๋จธ์ค ์กฐ์ง์์ 'product' ๋ผ๋ ๊ฒ์ '์ ํ'์ผ๋ก ๋ถ๋ฅผ์ง '์ํ'์ผ๋ก ๋ถ๋ฅผ์ง๋ฅผ ์ ์ํ๋ ํ์๋ฅผ ์๋ฏธํ๋ค.
๋น์ฅ์ ํ์ ์์ ๊ธฐํ์์ ๊ฐ๋ฐ์๋ค์ด ์๋ก ๋ถ๋ฅด๋ ์ฉ์ด๊ฐ ๋ค๋ฅด๊ณ , ์ฌ์ ํ์์ ๋ถ๋ฅด๋ ์ฉ์ด๊ฐ ๋ฌ๋ผ ํ์๋ ์ ๋ฌด๋ฅผ ํ ๋ ํท๊ฐ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ ์ด๊ฒ๋ค์ ์๊ฐ ๋ด์ ์ ์ํ๋ฉด ์์ฌ๊ฒฐ์ ์ ๋ณด๋ค ์ ํํ๊ณ ์ ์ํ๊ฒ ํ ์ ์์ด ๋ถํ์ํ ์ปค๋ฎค๋์ผ์ด์ ๋น์ฉ์ ์ค์ผ ์ ์์ ๊ฒ ๊ฐ๋ค.
2๋จ๊ณ ๋ชจ๋ธ๋ง ์ ์๋ ์์คํ ์ ๋จ์ํํ์ฌ ์ํ์ , ๋ ผ๋ฆฌ์ , ํน์ ์๊ฐ์ ์ผ๋ก ํํํ๋ ๊ณผ์ ์ผ๋ก ๋ชจ๋ธ์ ์ด๋ฌํ ๊ณผ์ ์ ๊ฒฐ๊ณผ๋ฌผ์ ์๋ฏธํ๋ค.
๋งํฌ๋ค์ด์ ์ฌ์ฉํ๊ธฐ์ ์ด๋ฒ ๋ฏธ์ ์ ์งํํ๋ฉด์ mermaid๋ผ๋ ์ธ์ด์ ๋ํด ์๊ฒ ๋์๊ณ , ์์ ๊ฐ์ด ๋ชจ๋ธ๋ง์ ์๊ฐ์ ์ผ๋ก ํํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์ ๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์ฒด์ ์ผ๋ก 2์ฃผ์ฐจ ๋ฏธ์ ๋ค์ ๋๋ค์ผ๋ก ์ง์ ๋ ํ์ด์ ๋ฏธ์ ์ ์งํํ๋ ๊ฒ์ด ํน์ง์ด๋ค. ๋ฏธ์ ๋ค ์์ฒด๊ฐ ํผ์ ํ๋ฉด ์ ๋ง ์ฌ์ด ๋ฏธ์ ์ด์ง๋ง ํจ๊ปํ๋ ์ธ์์ด ๋์ด๋ ์๋ก ๋ฏธ์ ์ ๋์ด๋๊ฐ ๋์์ง๋๋ฐ, ์๋๋ฐฉ์ ์ค๋ํ๊ณ ๋ฆฌ๋ทฐ์ด๋ฅผ ์ค๋ํ๋ ๊ณผ์ ๋ค์ด ํฌํจ๋๊ธฐ ๋๋ฌธ์ด๋ค. ํนํ ์ฉ์ด๋ฅผ ์ ์ํ ๋ ๋๋ ์ด๋ ๊ฒ ์๊ฐํ๋๋ฐ ํ์ด๋ ๋ค๋ฅด๊ฒ ์๊ฐํ ์ ์๊ธฐ ๋๋ฌธ์ ์ํตํ๋ฉฐ ๋ง์ถฐ๊ฐ๋ ๊ณผ์ ์์ ๋ง์ด ๋ฐฐ์ ๋ ๊ฒ ๊ฐ๋ค.
3์ฃผ์ฐจ - ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ ๊ธฐ๋ณธ ์์
3์ฃผ์ฐจ๋ ํ์ ๋๋ฉ์ธ๊ณผ Bounded Context, ๋๋ฉ์ธ ๋ชจ๋ธ๋ง, Entity์ VO, Aggregate์ Repository, ๊ทธ๋ฆฌ๊ณ ๋๋ฉ์ธ ์๋น์ค์ ๋ํด ํ์ตํ๋ค.
- 1๋จ๊ณ - ๋ฆฌํฉํฐ๋ง(์ํ)
- 2๋จ๊ณ - ๋ฆฌํฉํฐ๋ง(๋ฉ๋ด)
- 3๋จ๊ณ - ๋ฆฌํฉํฐ๋ง(๋งค์ฅ ์์ฌ ์ฃผ๋ฌธ)
๊ฐ Aggregate ๋ณ๋ก Repository๋ฅผ ๋ง๋ค๊ณ , ๊ธฐ์กด์ ๋ณต์กํ๊ฒ ์๋ก ๊ด๊ณ๋ฅผ ๋งบ๊ณ ์๋ ๋ ๊ฑฐ์ ์ฝ๋๋ค์ Bounded Context ๋ผ๋ฆฌ ์๋ง๊ฒ ๋ถ๋ฆฌํ๋ ์์ ์ ์งํํ๋ค. ์ด๋ฒ ์ฃผ์ฐจ์์๋ ์ง์ ์ ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ถ๋ถ์ด ๋ง์๊ธฐ ๋๋ฌธ์ ๊ฐ์ฅ ์๊ฐ์ด ๋ง์ด ๋ค์๊ณ , ๊ทธ๋งํผ ๊ฐ์ฅ ๋ง์ด ๋ฐฐ์ด ์ฃผ์ฐจ์๋ค.
ํจํค์ง ๊ตฌ์กฐ๋ ์ฒ์์ ์๋์ ๊ฐ์ด POJO์ ์์์ฑ ๋ ์ด์ด๋ฅผ ๋ถ๋ฆฌํ๊ณ ์ถ์์ง๋ง, ๊ธฐ๊ฐ ๋ด์ ๋ฏธ์ ์ ์๋ฃํ์ง ๋ชปํ ๊ฒ ๊ฐ์ ORM ์ํฐํฐ๋ฅผ ๋๋ฉ์ธ ๋ชจ๋ธ๋ก ์ฌ์ฉํ๋ค. ๊ทธ๋ฆฌ๊ณ Bounded Context ๊ฐ์ ๋ฐ์ดํฐ ์ ๋ฌ์ ์ด๋ฒคํธ๋ฅผ ์ฌ์ฉํ๋ค.
4์ฃผ์ฐจ - ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ ์ํคํ ์ฒ
4์ฃผ์ฐจ๋ถํฐ๋ ๊ฐ์์์ฃผ์ด๊ณ , ์๋์ ๋ด์ฉ๋ค์ ๋ฐฐ์ ๋ค.
- ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ์ ์ด์ธ๋ฆฌ๋ ์ํคํ
์ฒ
- ๊ณ์ธตํ ์ํคํ ์ฒ
- DTO, DIP, ACL(๋ถํจ ๋ฐฉ์น ๊ณ์ธต)
- ์ํคํ ์ฒ์ ์งํ
- AGGREGATE ์ฌํ
- ํฐ ์ ๊ทธ๋ฆฌ๊ฑฐํธ์ ์์ ์ ๊ทธ๋ฆฌ๊ฑฐํธ
- ๊ฒฐ๊ณผ์ ์ผ๊ด์ฑ
- ๋ฏธ์ ๋ผ์ด๋ธ ์ฝ๋ฉ
5์ฃผ์ฐจ - ๋๋ฉ์ธ ์ด๋ฒคํธ์ CQRS
๋ง์ง๋ง ์ฃผ์ฐจ๋ Q&A๋ฅผ ํฌํจํ์ฌ ๋๋ฉ์ธ ์ด๋ฒคํธ, ์ด๋ฒคํธ ์์ฑ๊ณผ CQRS ํจํด์ ๋ํด ํ์ตํ๋ค. CQRS ํจํด์ ๋ํด์๋ ์ง์ ์ ์ธ ๋ฏธ์ ์ผ๋ก ์งํํ์ผ๋ฉด ํ๋๋ฐ ๊ฐ์๋ก ์งํ๋ ์ ์ ์์ด์ ์กฐ๊ธ ์์ฌ์ ๋ค.
์๋์ ์ํฐํด๋ค์ด ๊ฐ์๋ฅผ ์ดํดํ๋๋ฐ ๋ง์ ๋์์ด ๋์๋ค.
- Transaction Synchronization and Srping Application Events
- ํ์์์คํ ์ด๋ฒคํธ๊ธฐ๋ฐ ์ํคํ ์ฒ ๊ตฌ์ถํ๊ธฐ(๊ธ)
- ํ์์์คํ ์ด๋ฒคํธ๊ธฐ๋ฐ ์ํคํ ์ฒ ๊ตฌ์ถํ๊ธฐ(์์)
๋ง๋ฌด๋ฆฌ
๋ฅ์คํธ ์คํ ์ ์ฒซ ๊ฐ์๋ก ์๋ ์ TDD, ํด๋ฆฐ ์ฝ๋ with Java๋ฅผ ์๊ฐํ์๋๋ฐ, ์ด๋ ๋งค์ฐ ๋ง์กฑํ๊ณ ๋์ ์ฝ๋ฉ ์คํ์ผ์ด ํ์ฐํ๊ฒ ๊ฐ์ ๋์๋ค๋ ์ ์ ๋ชธ์ ๋๊ผ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๊ฐ์๋ค๋ ๊ผญ ๋ค์ด๋ณด๊ณ ์ถ์ ๋ง์์ด ๋ค์๋ค. ํนํ ์ด๋ฒ ๊ฐ์์ธ DDD ๊ฐ์ ๊ฒฝ์ฐ๋ ์ง๊ธ๊น์ง ์ฑ ์ ํตํด ์ด๋ก ๋ง ๋ฐฐ์ ๊ธฐ๋ ํ๊ณ , ์ต๊ทผ์ ์ฎ๊ธด ํ์ ํ๋ก์ ํธ ๊ตฌ์กฐ์ ์ผ๋ถ์์ ์ฌ์ฉํ๊ณ ์์ง๋ง ์ด๋์ ๊ฐ ๊ณ์ ์๊ฑฐ๋ ๋๋ ๋ฐ๋์ ์ ์ฌ์ฉํ๊ณ ์๋์ง์ ๋ํด ๊ณ์ํด์ ์๋ฌธ์ด ๋ค์ด ์ ๋๋ก ๋ฐฐ์์ ํ๋ก์ ํธ๋ฅผ ๊ฐ์ ํด๋ณด๊ณ ์ ํ๋ ๋ง์์ ์ ์ฒญํ๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ๋น์ผ ๊ธ์ก(ํ์ฌ ๋ณต์งํฌ์ธํธ๋ก ๊ตฌ๋งคํ๊ธด ํ๋ฐ... ์ฌํผ)์ด์ง๋ง ๋ง์กฑํ๊ณ , ๋ฅ์คํธ์คํ ์ ๊ฐ์๋ค์ ๋ณธ์ธ์ด ํ๊ณ ์ ํ๋ ์์ง๋ง ์์ผ๋ฉด ์ค๋ ฅ์ ๋ช ๋จ๊ณ๋ ์ฌ๋ฆด ์ ์๋ ๊ฐ๋ฐ์ ํฐ๋ํฌ์ธํธ๊ฐ ๋ ์ ์๋ ๊ฐ์๋ค์ด๋ผ ์๊ฐํ๋ค.(์ด๋ฐ ๋ฅ์คํธ์คํ ์ ์ ์ ์จ๋ณด๋ฉ์ผ๋ก ํ์ฉํ๋ ์นดxx๋ ์ฌํ ๊ธฐ์ ๋ค์ ๋ณต์ง๊ฐ ๋ถ๋ฌ์ธ ๋ฐ๋ฆ์ด๋ค.)
+ ์ฐธ๊ณ ๋ก ์ด์ ์๋ ์ ๋ณด๊ฐ ์์ด์ ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง DDD๊ฐ์๋ ์๋ ๊ณผ ์ฌํด ๋น์ผ ๊ธ์ก์์๋ ์ธ๊ธฐ๊ฐ ๋ง์ ๊ฐ์๊ฐ ์คํ๋ ์ง x๋ถ ์ด๋ด๋ก ๋ง๊ฐ์ด ๋์๋ค. ๊ทธ๋ฌ๋ ํน์๋ผ๋ ์๊ฐํ ๋ง์์ด ์๋ ๋ถ์ด๋ผ๋ฉด ์๋ง ๋ค์๋ฒ์๋ ์คํ๋ฐ์ ํด์ผ ํ ๊ฒ์ด๋ค.
์๋๋ DDD ๊ด๋ จํ์ฌ ์ฝ์ผ๋ฉด ์ข์ ์ํฐํด๋ค์ ๋ชจ์๋ดค๋ค.
- DDD Lite@Spring
- [์ฐ์ํํ ํฌ์ธ๋ฏธ๋] 190620 ์ฐ์ํ๊ฐ์ฒด์งํฅ by ์ฐ์ํํ์ ๋ค ๊ฐ๋ฐ์ค์ฅ ์กฐ์ํธ๋
- [์ฐ์ํํ ํฌ์ธ๋ฏธ๋] 200123 ์ฐ์ํ๋ชจ๋ ธ๋ฆฌ์ค by ๋ฐ์ฉ๊ถ๋
- ๋๋ฉ์ธ ์์ ๋ #์ฐ์์ฝ 2021 #๋์งธ๋ _์๋ก์ด ์ฌ์
- [NHN FORWARD 2020] ๋ ๋์ ๋ด์ผ์ ์ํ ๋ฆฌํฉํฐ๋ง