3-5์ฅ
50p
์ํํธ์จ์ด ์์คํ ์ ์ผ๋ถ๋ฅผ ์ค๊ณํ ๋๋ ๋๋ฉ์ธ ๋ชจ๋ธ์ ์๋ ๊ทธ๋๋ก ๋ฐ์ํด์ ์ค๊ณ์ ๋ชจ๋ธ์ ๋์์ ๋ถ๋ช ํ๊ฒ ํ๋ผ. ๋ํ ๋ชจ๋ธ์ ์ฌ๊ฒํ ํด์ ๋์ฑ ์์ฐ์ค๋ฝ๊ฒ ์ํํธ์จ์ด๋ก ๊ตฌํ๋ ์ ์๊ฒ ์์ ํ๋ผ.
๋ชจ๋ธ๋ก๋ถํฐ ์ค๊ณ์ ๊ธฐ๋ณธ์ ์ธ ์ฑ ์ ํ ๋น์ ์ฌ์ฉํ ์ฉ์ด๋ฅผ ๋์ถํ๋ผ. ์ฝ๋๋ฅผ ์์ฑํ ๋ ๊ทธ๋ฌํ ์ฉ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๋๊ฐ ๋ชจ๋ธ์ ํํํ ๊ฒ์ด ๋๊ณ , ์ฝ๋์ ๋ณ๊ฒฝ์ด ๊ณง ๋ชจ๋ธ์ ๋ณ๊ฒฝ์ผ๋ก ์ด์ด์ง ์ ์๋ค.
60p
HANDS-ON MODELER
๋ฌธ์ ๋ Model-driven design๋ด์์ ์๋ก ๊ธด๋ฐํ๊ฒ ์ฐ๊ฒฐ๋ ๋ชจ๋ธ๋ง๊ณผ ๊ตฌํ์ด๋ผ๋ ๋ ๊ฐ์ง ๊ณผ์ ์ ใด๋ฆฌํ๋ ๋ฐ์ ๋ํ๋๋ค.
๋ชจ๋ธ์ ๊ธฐ์ฌํ๋ ๋ชจ๋ ๊ธฐ์ ์๋ ํ๋ก์ ํธ ๋ด์์ ์ํํ๋ ์ผ์ฐจ์ ์ญํ ๊ณผ๋ ์๊ด์์ด ์ฝ๋๋ฅผ ์ ํ๋ ๋ฐ ์ด๋ ์ ๋ ์๊ฐ์ ํฌ์ํด์ผ๋ง ํ๋ค. ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ๋ ์ฑ ์์ด ์๋ ๋ชจ๋ ์ด๋ค์ ์ฝ๋๋ฅผ ํตํด ๋ชจ๋ธ์ ํํํ๋ ๋ฒ์ ๋ฐ๋์ ๋ฐฐ์์ผ ํ๋ค.
04 ๋๋ฉ์ธ๊ณผ ๊ฒฉ๋ฆฌ
72p
๋ณต์กํ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ๊ฐ์ ๊ณ์ธต์ผ๋ก ๋๋ ๋ผ. ์์ง๋ ฅ ์๊ณ ์ค์ง ์๋์ ์์นํ ๊ณ์ธต์๋ง ์์กดํ๋ ๊ฐ ๊ณ์ธต์์ ์ค๊ณ๋ฅผ ๋ฐ์ ์์ผ๋ผ. ํ์ค ์ํคํ ์ฒ ํจํด์ ๋ฐ๋ผ ์์ ๊ณ์ธต๊ณผ์ ๊ฒฐํฉ์ ๋์จํ๊ฒ ์ ์งํ๋ผ. ๋๋ฉ์ธ ๋ชจ๋ธ๊ณผ ๊ด๋ จ๋ ์ฝ๋๋ ๋ชจ๋ ํ ๊ณ์ธต์ ๋ชจ์ผ๊ณ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ฝ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋, ์ธํ๋ผ์คํธ๋ญ์ฒ ์ฝ๋์ ๊ฒฉ๋ฆฌํ๋ผ.
05 ์ํํธ์จ์ด์์ ํํ๋๋ ๋ชจ๋ธ
์ฐ์์ฑ๊ณผ ์๋ณ์ฑ์ ๊ฐ์ง๋ค โ ENTITY
ENTITY์ ๊ทผ๋ณธ์ ์ธ ๊ฐ๋ ์ ๊ฐ์ฒด์ ์๋ช ์ฃผ๊ธฐ ๋ด๋ด ์ด์ด์ง๋ ์ถ์์ ์ธ ์ฐ์์ฑ
๊ฐ๋ ์ ์๋ณ์ฑ์ ๊ฐ์ง ์์ผ๋ฉด์ ๋๋ฉ์ธ์ ์์ ์ ์ธก๋ฉด์ ๋ํ๋ด๋ ๊ฐ์ฒด โ VALUE OBJECT
์ํํธ์จ์ด์์ ์ํํด์ผ ํ์ง๋ง ์ํ๋ฅผ ์ฃผ๊ณ ๋ฐ์ง๋ ์๋ ํ๋ โ SERVICE
ENTITY ๋ชจ๋ธ๋ง
์ด๋ค ๊ฐ์ฒด๋ฅผ ์ผ์ฐจ์ ์ผ๋ก ํด๋น ๊ฐ์ฒด์ ์๋ณ์ฑ์ผ๋ก ์ ์ํ ๊ฒฝ์ฐ ๊ทธ ๊ฐ์ฒด๋ฅผ ENTITY๋ผ ํ๋ค. ENTITY์๋ ๋ชจ๋ธ๋ง๊ณผ ์ค๊ณ์์ ํน์ํ ๊ณ ๋ ค์ฌํญ์ด ํฌํจ๋ผ ์๋ค. ENTITY๋ ์์ ์ ์๋ช ์ฃผ๊ธฐ๋์ ํํ์ ๋ด์ฉ์ด ๊ธ๊ฒฉํ๊ฒ ๋ฐ๋ ์๋ ์์ง๋ง ์ฐ์์ฑ์ ์ ์งํด์ผ ํ๋ค. ๋ํ ์ฌ์ค์ ENTITY๋ฅผ ์ถ์ ํ๋ ค๋ฉด ENTITY์ ์๋ณ์ฑ์ด ์ ์๋ผ ์์ด์ผ ํ๋ค. ENTITY์ ํด๋์ค ์ ์์ ์ฑ ์, ์์ฑ, ์ฐ๊ด๊ด๊ณ๋ ENTITY์ ํฌํจ๋ ํน์ ์์ฑ๋ณด๋ค๋ ENTITY์ ์ ์ฒด์ฑ์ ์ด์ ์ ๋ง์ถฐ์ผ ํ๋ค.
VALUE OBJECT
๋ชจ๋ธ์ ํฌํจ๋ ์ด๋ค ์์์ ์์ฑ์๋ง ๊ด์ฌ์ด ์๋ค๋ฉด ๊ทธ๊ฒ์ VALUE OBJECT๋ก ๋ถ๋ฅํ๋ผ. VALUE OBJECT์์ ํด๋น VALUE OBJECT๊ฐ ์ ํ๋ ์์ฑ์ ์๋ฏธ๋ฅผ ํํํ๊ฒ ํ๊ณ ๊ด๋ จ ๊ธฐ๋ฅ์ ๋ถ์ฌํ๋ผ. ๋ํ VALUE OBJECT๋ ๋ถ๋ณ์ (immutable)์ผ๋ก ๋ค๋ค๋ผ. VALUE OBJECT์๋ ์๋ฌด๋ฐ ์๋ณ์ฑ์ ๋ถ์ฌํ์ง ๋ง๊ณ ENTITY๋ฅผ ์ ์งํ๋ ๋ฐ ํ์ํ ์ค๊ณ์์ ๋ณต์ก์ฑ์ ํผํ๋ผ.
SERVICE
๋๋ฉ์ธ์ ์ค๋ํ ํ๋ก์ธ์ค๋ ๋ณํ ๊ณผ์ ์ด ENTITY๋ VALUE OBJECT์ ๊ณ ์ ํ ์ฑ ์์ด ์๋๋ผ๋ฉด ์ฐ์ฐ์ SERVICE๋ก ์ ์ธ๋๋ ๋ ๋ฆฝ ์ธํฐํ์ด์ค๋ก ๋ชจ๋ธ์ ์ถ๊ฐํ๋ผ. ๋ชจ๋ธ์ ์ธ์ด๋ผ๋ ์ธก๋ฉด์์ ์ธํฐํ์ด์ค๋ฅผ ์ ์ํ๊ณ ์ฐ์ฐ์ ์ด๋ฆ์ UBIQUITOUS LANGUAGE์ ์ผ๋ถ๊ฐ ๋๊ฒ๋ ๊ตฌ์ฑํ๋ผ. SERVICE์ ์ํ๋ฅผ ๊ฐ์ง ์๊ฒ ๋ง๋ค์ด๋ผ.
MODULE
์์คํ ์ ๋ด๋ ฅ์ ๋งํด์ฃผ๋ MODULE์ ๊ณจ๋ผ ์ผ๋ จ์ ์์ง๋ ฅ ์๋ ๊ฐ๋ ๋ค์ ํด๋น MODULE์ ๋ด์๋ผ. ์ด๋ ๊ฒ ํ๋ฉด ์ข ์ข ๋ชจ๋ ๊ฐ์ ๊ฒฐํฉ๋๊ฐ ๋ฎ์์ง๊ธฐ๋ ํ๋๋ฐ, ๊ทธ๋ ๊ฒ ๋์ง ์๋๋ค๋ฉด ๋ชจ๋ธ์ ๋ณ๊ฒฝํด์ ์ฝํ ์๋ ๊ฐ๋ ์ ํ์ด๋ผ ๋ฐฉ๋ฒ์ ์ฐพ์๋ณด๊ฑฐ๋, ์๋๋ฉด ์๋ฏธ ์๋ ๋ฐฉ์์ผ๋ก ๋ชจ๋ธ์ ๊ฐ ์์๋ฅผ ๋งบ์ด์ค, MODULE์ ๊ธฐ์ค์ด ๋ ๋ฒํ ๊ฒ ์ค ๋ฏธ์ฒ ๋ชป๋ณด๊ณ ์ง๋์น ๊ฐ๋ ์ ์ฐพ์๋ณด๋ผ.
Last updated