Ddd.md

๋ฌธ์ œ์ 

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ๊ณผ ๋„๋ฉ”์ธ, ๋ชจ๋ธ๊ณผ์˜ ๋ถˆ์ผ์น˜ ๋ฐœ์ƒ(๋„๋ฉ”์ธ์ด ๋ณต์žกํ•˜๊ธฐ ๋•Œ๋ฌธ)

  • ๊ธฐํš๊ณผ ๊ฐœ๋ฐœ์˜ ๋ถˆ์ผ์น˜ ๋ฐœ์ƒ

  • ์†Œํ†ต ์–ด๋ ค์›€

      ๋„๋ฉ”์ธ - ์ถ”์ƒํ™” -> ๋ชจ๋ธ - ์‹ค์ฒดํ™” -> ์†Œํ”„ํŠธ์›จ์–ด

ํ•ด๊ฒฐ๋ฐฉ์•ˆ

  • ๋ณดํŽธ์–ธ์–ด ์„ ํƒ

  • ๋ชจ๋ธ ์ฃผ๋„ ์„ค๊ณ„

์ข…๋ฅ˜

  • ์ „๋žต์  ์„ค๊ณ„

    • ๋น„์ฆˆ๋‹ˆ์Šค์˜ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์„ค๊ณ„

    • ๋ชจ๋“  Context๋ฅผ ์ด๋ฒคํŠธ ์Šคํ† ๋ฐ์„ ํ†ตํ•ด ๊ณต์œ 

    • ๊ฐ Context๋ฅผ ๊ทธ๋ฃนํ•‘(Bounded Context)

    • Context Mapping์„ ํ†ตํ•ด Bounded context ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜

-> ์ „๋žต์  ์„ค๊ณ„์˜ ๊ฒฐ๊ณผ๋ฌผ: ๋„๋ฉ”์ธ ๋ชจ๋ธ(์„œ๋น„์Šค๋ฅผ ์ถ”์ƒํ™”ํ•œ ์„ค๊ณ„๋„, ๋ถ„๋ฆฌ & ์—ฐ๊ฒฐ)

  • ์ „์ˆ ์  ์„ค๊ณ„

    • ๋” ์ƒ์„ธํ•œ ๋ถ€๋ถ„ (Bounded Context ๋‚ด๋ถ€) ๋ชจ๋ธ๋ง

    • Model driven design

    • Aggregate pattern

=> DDD๋Š” ๊ฐœ๋ฐœํ•˜๋Š”, ๊ธฐ์ˆ ์ ์ธ ๋ฐฉ๋ฒ•์ด ์•„๋‹Œ ๊ธฐํš์ž์™€ ๊ฐœ๋ฐœ์ž๊ฐ„์˜ ๊ฐ„๊ทน์„ ์ค„์—ฌ์ฃผ๊ธฐ์œ„ํ•œ ๋ฐฉ๋ฒ•๋ก ์— ํ•ด๋‹น

์ด๋ฒคํŠธ ์Šคํ† ๋ฐ

  • ์ด๋ฒคํŠธ๋Š” Actor๊ฐ€ Action์„ ํ•ด์„œ ๋ฐœ์ƒํ•œ ๊ฒฐ๊ณผ

  • ๋น„์ฆˆ๋‹ˆ์Šค ์šฉ์–ด๋กœ ๋ฌด์Šจ ์ผ์ด ๋ฐœ์ƒํ–ˆ๋Š”์ง€๋ฅผ ์ ๋Š” ๊ฒƒ -> ์‹œ์Šคํ…œ ๋‚ด์—์„œ ๋ฐœ์ƒ๋˜๋Š” ๊ฒƒ์„ ์ฐพ๋Š”๊ฒŒ ์•„๋‹˜

  • ๋‹จ๊ณ„

    • Domain Event ์ •์˜

    • ํ”„๋กœ์„ธ์Šค ๊ทธ๋ฃนํ•‘

    • Command ์ •์˜

    • Trigger ์ •์˜

    • Aggregate ์ •์˜

    • Bounded Context ์ •์˜

    • Contexts Map ์ž‘์„ฑ

Last updated