: ์ฝ๊ธฐ(์ฟผ๋ฆฌ)์ ์ฐ๊ธฐ(๋ช
๋ น)์ ์ฑ
์์ ๋ถ๋ฆฌํ๋ ์ํคํ
์ฒ ํจํด
์ฝ๊ธฐ์ ์ฐ๊ธฐ ์์
์ ๋
๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌํ ์์์
์์คํ
์ฑ๋ฅ๊ณผ ํ์ฅ์ฑ ๋์
์ฝ๊ธฐ,์ฐ๊ธฐ ์์
์ ๋
๋ฆฝ์ ์ผ๋ก ํ์ฅ ๋ฐ ์ต์ ํ ๊ฐ๋ฅ

์์คํ
์ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ์์
(์์ฑ, ์์ , ์ญ์ )์ ์ค์
๋๋ฉ์ธ ์ํฐํฐ์ ์ผ๊ด์ฑ ์ ์งํ๋ฉด์ ๋ฐ์ดํฐ ๊ด๋ฆฌ
Application Layer
Controller : ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ช
๋ น ์์ฒญ
Service : ๋น์ฆ๋์ค ๋ก์ง ์ฒ๋ฆฌ. ๋ช
๋ น ์ํ์ ํ์ํ ๋ก์ง ์คํ, ๋ฐ์ดํฐ ์กฐ์
DTO : ๋ช
๋ น ์ฒ๋ฆฌ์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ ๊ฐ์ฒด. ์ปจํธ๋กค๋ฌ์์ ์๋น์ค๋ก ๋ฐ์ดํฐ ์ ๋ฌํ ๋ ์ฌ์ฉ๋จ.
Domain Layer
Repository : ๋ฐ์ดํฐ ์ ์ฅ์์ ์ ๊ทผํ๋ ์ถ์ํ๋ ๊ณ์ธต. ๋ฐ์ดํฐ ์ ์ฅ, ๋ถ๋ฌ์ค๋ ์ญํ
Aggregate : ์ฌ๋ฌ๊ฐ์ ๋๋ฉ์ธ ๊ฐ์ฒด๋ฅผ ํ๋์ ๋จ์๋ก ๋ฌถ์ด ํธ๋์ญ์
๋ด์์ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๊ฐ์ฒด. ์ผ๊ด์ฑ ๊ฒฝ๊ณ๋ฅผ ํ์ฑํ์ฌ Aggregate ๋ด์ ๋ชจ๋ ๊ฐ์ฒด๋ค์ด ํจ
๋ฐ์ดํฐ ์กฐํ ์์
์ ์ค์
์ฝ๊ธฐ์์
์ต์ ํ