AggregateId
DDD์์ AggregateId ์ฌ์ฉํ๋ ์ด์
์๋ณ์ ๋ถ๋ฆฌ:
AggregateId
๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ์ํฐํฐ์ ์๋ณ์๋ฅผ ๋ช ์์ ์ผ๋ก ๋ถ๋ฆฌํ ์ ์์ต๋๋ค.Order
์ํฐํฐ์orderId
ํ๋๋AggregateId
๋ก ์ ์ธ๋์ด ํด๋น ์ํฐํฐ๊ฐ ๊ณ ์ ํ๊ฒ ์๋ณ๋๋ ๊ฒ์ ๋ํ๋ ๋๋ค. ์ด๋ ๊ฒ ์๋ณ์๋ฅผ ๋ถ๋ฆฌํ๋ฉด ๋๋ฉ์ธ ๊ฐ๋ ์ ๊ฒฝ๊ณ๋ฅผ ๋ช ํํ๊ฒ ํ๊ณ , ๋๋ฉ์ธ ๋ชจ๋ธ์ ์๋ฏธ๋ฅผ ๋ ์ ์ ๋ฌํ ์ ์์ต๋๋ค.๋๋ฉ์ธ ์๋ฏธ ๋ถ์ฌ:
AggregateId
๋ ๋๋ฉ์ธ์์ ์ค์ํ ๊ฐ๋ ์ ํํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด,AggregateId
๊ฐ UUID ํํ๋ก ์์ฑ๋๋ฉด, ๋๋ฉ์ธ์์ ๊ณ ์ ์ฑ์ ๋ณด์ฅํ๋ฉด์ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์์ต๋๋ค. ์ด๋ ๋๋ฉ์ธ ๋ชจ๋ธ์ ์ดํดํ๊ณ ๊ตฌ์ฑํ๋ ๋ฐ ๋์์ด ๋๋ฉฐ, ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ์์ ์์ฌ์ํต์ ๊ฐํํ ์ ์์ต๋๋ค.๋ถ์ฐ ์์คํ ๊ณผ์ ์ํธ ์ด์ฉ์ฑ:
AggregateId
๋ ๋ถ์ฐ ์์คํ ์์ ์ฌ๋ฌ ์๋น์ค ๊ฐ์ ํต์ ๊ณผ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๋๋ฉ์ธ ์ด๋ฒคํธ๋ฅผ ๊ตํํ๊ฑฐ๋ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ์ ํธ๋์ญ์ ๊ฒฝ๊ณ๋ฅผ ์ค์ ํ ๋AggregateId
๋ฅผ ์ฌ์ฉํ์ฌ ํจ์จ์ ์ธ ์ํธ ์ด์ฉ์ฑ์ ๋ฌ์ฑํ ์ ์์ต๋๋ค.์ด๋ฒคํธ ์์ฑ(Event Sourcing):
AggregateId
๋ ์ด๋ฒคํธ ์์ฑ ํจํด์์ ์ด๋ฒคํธ ์คํธ๋ฆผ์ ๊ตฌ์ฑํ๊ณ ์ฌ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ฐ Aggregate์ ์ด๋ฒคํธ ์คํธ๋ฆผ์ ํด๋น Aggregate์AggregateId
๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋๋ฉฐ, ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ ์์ฒ์ ์ถ์ ํ ์ ์์ต๋๋ค.
์์ ๊ฐ์ ์ด์ ๋ก DDD์์ AggregateId
๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ฉ์ธ ๋ชจ๋ธ์ ๊ตฌ์ฑํ๊ณ ๊ด๋ฆฌํจ์ผ๋ก์จ ๋๋ฉ์ธ์ ์๋ฏธ๋ฅผ ๋ ์ ์ ๋ฌํ๊ณ , ๋๋ฉ์ธ์ ๊ฒฝ๊ณ๋ฅผ ๋ช
ํํ ํ๋ฉฐ, ๋ถ์ฐ ์์คํ
๊ณผ์ ์ํธ ์ด์ฉ์ฑ์ ๊ฐํํ ์ ์์ต๋๋ค.
Last updated
Was this helpful?