DDD(๋๋ฉ์ธ ๊ธฐ๋ฐ ์ค๊ณ)๋ ์์คํ ์ ๋ฌธ์ ์์ญ์ ์ ํํ๊ฒ ๋ชจ๋ธ๋งํ๊ณ ๋ช ์์ ์ด๊ณ ์์ ์ ์ธ ์ธ์ด๋ฅผ ํตํด ์ด ์์ญ์ ํต์ฌ ๊ฐ๋ ๊ณผ ๊ท์น์ ํํํ๋ ๊ฒ์ ์ค์์ฑ์ ๊ฐ์กฐํ๋ ์ํํธ์จ์ด ์ํคํ ์ฒ ๋ฐ ์ค๊ณ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค. DDD์ ๋ชฉ์ ์ ์ค์ ๋๋ฉ์ธ๊ณผ ๊ณ ์ ํ ๋ณต์ก์ฑ์ ์ด์ ์ ๋ง์ถฐ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ๊ณ , ๋ณต์ก์ฑ์ ์ค์ด๊ณ , ์ ๋ฐ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง ๊ด๋ฆฌ์ฑ๊ณผ ํ์ฅ์ฑ์ ํฅ์์ํค๋ ๊ฒ์ ๋๋ค. ์ด๋ ์ํํธ์จ์ด ๊ตฌํ์ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ์กฐ์ ํ๊ณ ๋๋ฉ์ธ ์ดํด๋ฅผ ๊ฐํํ๋ฉฐ ์ดํด ๊ด๊ณ์ ๊ฐ์ ํจ๊ณผ์ ์ธ ์์ฌ ์ํต์ ์ด์งํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ ์ ๋ต์ ์ค๊ณ ์์น, ์ ์ ์ ํจํด ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ํตํด ๋ฌ์ฑ๋ฉ๋๋ค.
์ํํธ์จ์ด ์ํคํ ์ฒ์ ๋งฅ๋ฝ์์ Datasetseldorfoldingpatternsodashsolutionse.teleco ์ฝ๋ฉ ์ธ์ด, ํ๋ ์์ํฌ ๋ฐ ์ ๊ทผ ๋ฐฉ์์ ๋ค์ํ์ง๋ง DDD๋ ๋น์ฆ๋์ค ๋๋ฉ์ธ, ํด๋น ๊ท์น ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๋ฐ์ํ๊ณ ์ง์ํ๋ ์ํํธ์จ์ด ์๋ฃจ์ ์ ์ค๊ณ, ํ ์คํธ ๋ฐ ๊ตฌํํ๊ธฐ ์ํ ์ฒด๊ณ์ ์ด๊ณ ์ ์ฒด์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค. ์ํคํ ์ฒ ํจํด์ธ DDD๋ ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๊ฐ์ ํ์ ์ ์ด์งํ์ฌ ํจ๊ณผ์ ์ธ ์ง์ ์ ๋ฌ์ ์ด์งํ๊ณ , ์๊ตฌ ์ฌํญ์ ๋ชจํธ์ฑ๊ณผ ๋ถ์ผ์น๋ฅผ ์ค์ด๊ณ , ์ํํธ์จ์ด ํ์ง๊ณผ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅ์ฑ์ ํฅ์์ํฌ ์ ์๋ ๊ณต์ ๋ ์ ๋น์ฟผํฐ์ค ์ธ์ด๋ฅผ ๋ง๋ค ์ ์๋๋ก ์ง์ํฉ๋๋ค.
DDD๋ ์ ๋ต์ ์ค๊ณ, ์ ์ ์ ํจํด, ์ง์ ๊ธฐ์ ์ด๋ผ๋ ์ธ ๊ฐ์ง ์ค์ํ ๊ตฌ์ฑ ์์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ ๋ต์ ์ค๊ณ๋ ๋ฌธ์ ์์ญ์ ์ค์ํ ๊ฐ๋ ๊ณผ ๊ด๊ณ๋ฅผ ์ ์ ์๋ ํ์ ์์ญ๊ณผ ์ ํ๋ ์ปจํ ์คํธ๋ก ์๋ณ, ์ ์ ๋ฐ ๊ตฌ์ฑํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค. ์ด๋ฌํ ํ์ ๋๋ฉ์ธ๊ณผ ์ ํ๋ ์ปจํ ์คํธ๋ ๋ณต์กํ ๋๊ท๋ชจ ๋ฌธ์ ๋ฅผ ๋ ์๊ณ ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด ๋ถ๋ถ์ผ๋ก ๋ถํดํ์ฌ ์ํํธ์จ์ด ์๋ฃจ์ ์ ๊ตฌํํ๊ธฐ ์ํ ๊ธฐ๋ฐ ์ญํ ์ ํฉ๋๋ค. ์ ๋ต์ ์ค๊ณ์ ์ค์ํ ์ธก๋ฉด์ ์๋ก ๋ค๋ฅธ ๊ฒฝ๊ณ ์ปจํ ์คํธ์ ํ์ ๋๋ฉ์ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์๋ณํ๊ณ ์์คํ ๊ตฌ์ฑ ์์ ๊ฐ์ ์ํธ ์ฐ๊ฒฐ์ ๋ํ ๋์ ์์ค์ ๋ณด๊ธฐ๋ฅผ ์ ๊ณตํ๋ ์ปจํ ์คํธ ๋งต์ ๊ตฌ์ถํ๋ ๊ฒ์ ๋๋ค.
๋ฐ๋ฉด ์ ์ ์ ํจํด์ ์ํฐํฐ, ๊ฐ ๊ฐ์ฒด, ์ง๊ณ ๋ฐ ๋๋ฉ์ธ ์ด๋ฒคํธ์ ๊ฐ์ ๋ค์ํ ๋์์ธ ํจํด์ ์ฌ์ฉํ์ฌ ์๋ณ๋ ํ์ ๋๋ฉ์ธ์ ๊ตฌํํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค. ์ํฐํฐ๋ ๊ณ ์ ํ ID์ ์ฐ์์ฑ์ ๊ฐ์ง ๋๋ฉ์ธ ๊ฐ์ฒด์ด๊ณ , ๊ฐ ๊ฐ์ฒด๋ ๊ณ ์ ํ ID๊ฐ ์๋ ๋ถ๋ณ์ ๋๋ฉ์ธ ๊ฐ์ฒด์ด๋ฉฐ, ์ง๊ณ๋ ๋จ์ผ ๋จ์๋ก ์ฒ๋ฆฌ๋๋ ๋๋ฉ์ธ ๊ฐ์ฒด์ ํด๋ฌ์คํฐ์ด๋ฉฐ, ๋๋ฉ์ธ ์ด๋ฒคํธ๋ ๋๋ฉ์ธ ๋ด์์ ์ฃผ๋ชฉํ ๋งํ ๋ฐ์์ ๋ํ๋ ๋๋ค. ๋ํ DDD๋ ๋๋ฉ์ธ ๊ฐ์ฒด ๊ฐ์ ์ํธ ์์ฉ์ ์ด์งํ๊ณ ํด๋น ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ๋๋ฉ์ธ ์๋น์ค, ๋๋ฉ์ธ ๊ธฐ๋ฐ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฐ ํฉํ ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
์ง์ ๊ธฐ์ ์๋ DDD ์๋ฃจ์ ์ ํ์ง, ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅ์ฑ ๋ฐ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ ํฅ์์ํค๋ ์ค๊ณ ๋ฐ ๊ตฌํ ์ฌ๋ก๊ฐ ํฌํจ๋ฉ๋๋ค. ์ด๋ฌํ ๊ธฐ์ ์ ์๋ก๋ ๋๋ฉ์ธ ์คํ ๋ฆฌํ ๋ง, ์ด๋ฒคํธ ์คํ ๋ฐ, ์์๋ณ ์ฌ์ ๋ฑ์ด ์์ผ๋ฉฐ, ์ด๋ ์ดํด๊ด๊ณ์ ๊ฐ์ ํ์ ๊ณผ ์์ฌ์ํต์ ์ด์งํ๊ณ ๋๋ฉ์ธ์ ๋ํ ๊ณต์ ๋ ์ดํด๋ฅผ ๋ณด์ฅํฉ๋๋ค. ๋ํ ๋๋ฉ์ธ๋ณ ๋ชจ๋ธ๋ง ์ธ์ด์ ์คํ ๊ฐ๋ฅ ์ฌ์์ ๋๋ฉ์ธ ์ง์์ ์บก์ฒํ๊ณ ๋๋ฉ์ธ ์์ฒด์ ํจ๊ป ๋ฐ์ ํ๋ ์์คํ ์ ๋ํ ์ด์์๋ ๋ฌธ์๋ฅผ ๋ง๋๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
AppMasterno-code ํ๋ซํผ์ ๋งฅ๋ฝ์์ ๋๋ฉ์ธ ์ค์ฌ ์ค๊ณ์ ์์น๊ณผ ๊ดํ์ ํจ๊ณผ์ ์ผ๋ก ์ ์ฉํ์ฌ ์์ฑ๋ ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ ๋ฐ ์ ๋ฌธ๊ฐ ๋๋ฉ์ธ ์ง์๊ณผ ์ผ์นํ๋๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ ๋ชจ๋ธ, ๋น์ฆ๋์ค ๋ก์ง, UI ๊ตฌ์ฑ์์๋ฅผ ์๊ฐ์ ์ผ๋ก ์์ฑํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ๋๋ฉ์ธ์ ํต์ฌ ๊ฐ๋ ๊ณผ ๊ท์น์ ํํํ๋ ๋ฐ ์ง์คํ ์ ์์ด ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ์์ ํจ๊ณผ์ ์ธ ์ปค๋ฎค๋์ผ์ด์ ์ ์ด์งํ ์ ์์ต๋๋ค. ๋ํ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ฅ์ฑ๊ณผ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅ์ฑ์ ํตํด ๊ธฐ์ ์ ์งํํ๋ ๋๋ฉ์ธ ์๊ตฌ ์ฌํญ์ ์ ์ํ๊ฒ ์ ์ํ๊ณ ์ ์ฌ์ ์ธ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
์ฑ๊ณต์ ์ธ DDD ๊ตฌํ์ ์ค์ ์ฌ๋ก์๋ ๊ธ์ต ์๋น์ค, ์ ์ ์๊ฑฐ๋, ์๋ฃ, ๋ฌผ๋ฅ ๋ฑ์ด ํฌํจ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋๋ฉ์ธ ์ค์ฌ ์ค๊ณ๋ ์ ํํ ๋น์ฆ๋์ค ๊ท์น๊ณผ ๋๋ฉ์ธ ๋ณต์ก์ฑ์ ์ ํํ๊ฒ ๋ชจ๋ธ๋งํ๊ณ ๊ตฌํํด์ผ ํ๋ ๋ณต์กํ ๊ธ์ต ๊ฑฐ๋ ์ฒ๋ฆฌ ์์คํ ์ ์ค๊ณํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. ์ ์ ์๊ฑฐ๋์์ ๋๋ฉ์ธ ์ค์ฌ ์ค๊ณ๋ ๋๊ท๋ชจ ์์คํ ์ ๋ ์๊ณ ์์ง๋ ฅ ์๋ ํ์ ๋๋ฉ์ธ ๋ฐ ์ ํ๋ ์ปจํ ์คํธ(์: ์ฌ๊ณ ๊ด๋ฆฌ, ์ฃผ๋ฌธ ์ฒ๋ฆฌ, ๊ณ ๊ฐ ๊ด๋ฆฌ)๋ก ์ฝ๊ฒ ๋ถํดํ์ฌ ๋ ๋์ ๊ตฌ์ฑ ๋ฐ ์ ์ง ๊ด๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
์์ฝํ์๋ฉด, ๋๋ฉ์ธ ์ค์ฌ ์ค๊ณ๋ ๋จ์์ฑ, ์ ์ง ๊ด๋ฆฌ ์ฉ์ด์ฑ ๋ฐ ํ์ฅ์ฑ์ ๋ฌ์ฑํ๊ธฐ ์ํด ๋ฌธ์ ๋๋ฉ์ธ์ ์ ํํ๊ฒ ๋ชจ๋ธ๋งํ๊ณ ๊ตฌํํ๋ ๊ฒ์ ์ค์์ฑ์ ๊ฐ์กฐํ๋ ์ํํธ์จ์ด ์ํคํ ์ฒ์ ๋ํ ๊ฐ๋ ฅํ๊ณ ์ ์ฒด์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค. DDD๋ ์ ๋ต์ ์ค๊ณ ์์น, ์ ์ ์ ํจํด ๋ฐ ์ง์ ๊ธฐ์ ์ ํ์ฉํ์ฌ ๊ฐ๋ฐ์์ ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ๊ฐ ํจ๊ณผ์ ์ผ๋ก ํ๋ ฅํ๊ณ ๋น์ฆ๋์ค ๋๋ฉ์ธ์ ์ ํํ๊ฒ ๋ฐ์ํ์ฌ ์๊ตฌ ์ฌํญ๊ณผ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ์ํํธ์จ์ด ์๋ฃจ์ ์ ๋ง๋ค ์ ์๋๋ก ์ง์ํฉ๋๋ค. ๋ํ ๋๋ฉ์ธ ๊ธฐ๋ฐ ์ค๊ณ ์์น์ AppMasterno-code ํ๋ซํผ๊ณผ ๊ฐ์ ๋ค์ํ ์ปจํ ์คํธ์ ์ ์ฉ๋์ด ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋๋ฉ์ธ ์ง์ ๋ฐ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ๊ณผ ์ผ์นํ๋์ง ํ์ธํ๊ณ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์ต์ํํ๋ฉฐ ์ ๋ฐ์ ์ธ ํ์ฅ์ฑ๊ณผ ์ ์ง ๊ด๋ฆฌ์ฑ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.