Skip to main content
Frame์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค Entity์™€ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ๋…๋ฆฝ์ ์ธ API ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Frame ๊ฐœ์š”

Entity ๋ถˆํ•„์š”

DB ํ…Œ์ด๋ธ” ์—†์ด ์ž‘๋™ ์ž์œ ๋กœ์šด API ๊ตฌํ˜„

๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ

BaseFrameClass ์ƒ์† @api ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ์‚ฌ์šฉ

๋‹ค์–‘ํ•œ ์šฉ๋„

ํ—ฌ์Šค์ฒดํฌ, ์œ ํ‹ธ๋ฆฌํ‹ฐ ์™ธ๋ถ€ API ํ”„๋ก์‹œ

๋…๋ฆฝ์  ๋กœ์ง

๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๋งŒ ๊ตฌํ˜„ Entity ์ œ์•ฝ ์—†์Œ

Model vs Frame

Model (BaseModelClass)

Model์˜ ํŠน์ง•:
  • Entity(DB ํ…Œ์ด๋ธ”)์™€ 1:1 ๋งคํ•‘
  • CRUD ์ž‘์—… ์ค‘์‹ฌ
  • UpsertBuilder, Subset ํ™œ์šฉ
  • ํƒ€์ž… ์•ˆ์ „์„ฑ ๋ณด์žฅ

Frame (BaseFrameClass)

Frame์˜ ํŠน์ง•:
  • Entity์™€ ๋ฌด๊ด€ํ•œ ๋…๋ฆฝ์  ๋กœ์ง
  • ์œ ํ‹ธ๋ฆฌํ‹ฐ, ํ—ฌ์Šค์ฒดํฌ, ํ”„๋ก์‹œ ๋“ฑ
  • ์ž์œ ๋กœ์šด API ๊ตฌ์กฐ
  • ๊ฐ„๋‹จํ•œ ๊ตฌํ˜„

๋น„๊ต ํ‘œ

Frame ์‚ฌ์šฉ ์‹œ๊ธฐ

โœ… Frame์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ

  1. ํ—ฌ์Šค์ฒดํฌ API
  2. ์œ ํ‹ธ๋ฆฌํ‹ฐ API
  3. ์™ธ๋ถ€ API ํ”„๋ก์‹œ
  4. ์ง‘๊ณ„ ํ†ต๊ณ„
  5. ์ธ์ฆ/๊ถŒํ•œ ์ฒดํฌ

โŒ Model์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ

  1. Entity CRUD ์ž‘์—…
  2. ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ
  3. ๋ณต์žกํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง

๊ตฌ์กฐ ์ฐจ์ด

Model ๊ตฌ์กฐ

Frame ๊ตฌ์กฐ

Frame์€ Entity ์ •์˜ ์—†์ด .frame.ts ํŒŒ์ผ๋งŒ ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์˜ˆ์ œ

ํ—ฌ์Šค์ฒดํฌ Frame

์œ ํ‹ธ๋ฆฌํ‹ฐ Frame

์žฅ๋‹จ์ 

์žฅ์ 

๋น ๋ฅธ ๊ตฌํ˜„

Entity ์ •์˜ ๋ถˆํ•„์š” ๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ

์œ ์—ฐ์„ฑ

์ œ์•ฝ ์—†๋Š” ๋กœ์ง ์ž์œ ๋กœ์šด API ์„ค๊ณ„

๋…๋ฆฝ์„ฑ

DB ์Šคํ‚ค๋งˆ ๋…๋ฆฝ์  ์™ธ๋ถ€ API ์—ฐ๋™ ์šฉ์ด

ํ…Œ์ŠคํŠธ ์šฉ์ด

๋‹จ์ˆœํ•œ ๋กœ์ง Mock ๋ถˆํ•„์š”

๋‹จ์ 

ํƒ€์ž… ์•ˆ์ „์„ฑ ๊ฐ์†Œ

Entity ํƒ€์ž… ๋ฏธ์‚ฌ์šฉ ์ˆ˜๋™ ํƒ€์ž… ๊ด€๋ฆฌ

์ž๋™ ์ƒ์„ฑ ๋ฏธ์ง€์›

Subset, Types ์ž๋™ ์ƒ์„ฑ ์—†์Œ ์ˆ˜๋™ ์ž‘์„ฑ ํ•„์š”

์‹ค์ „ ํŒ

1. Frame์€ ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€

2. ์ ์ ˆํ•œ ๋„ค์ด๋ฐ

3. ๊ด€๋ จ ๊ธฐ๋Šฅ ๊ทธ๋ฃนํ™”

์–ธ์ œ Model๋กœ ์ „ํ™˜ํ• ๊นŒ?

Frame์œผ๋กœ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ ๋‹ค์Œ ์ƒํ™ฉ์ด ๋˜๋ฉด Model๋กœ ์ „ํ™˜ ๊ณ ๋ ค:
  1. DB ๋ฐ์ดํ„ฐ๋ฅผ ์ž์ฃผ ์กฐํšŒ/์ˆ˜์ •
    • ์ฒ˜์Œ์—” ๋‹จ์ˆœ ์กฐํšŒ์˜€์ง€๋งŒ CRUD๊ฐ€ ํ•„์š”ํ•ด์ง
  2. ํƒ€์ž… ์•ˆ์ „์„ฑ์ด ์ค‘์š”ํ•ด์ง
    • ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ์ƒ๊น€
    • Entity ํƒ€์ž… ์ž๋™ ์ƒ์„ฑ์ด ํ•„์š”
  3. ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํ•„์š”
    • ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ” ๊ฐ„์˜ ๊ด€๊ณ„ ์ฒ˜๋ฆฌ
    • JOIN, ์™ธ๋ž˜ํ‚ค ๋“ฑ
  4. ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ๋ณต์žกํ•ด์ง
    • ๋‹จ์ˆœ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ๋„˜์–ด์„ฌ
    • ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ํ•„์š”

๋‹ค์Œ ๋‹จ๊ณ„

Frame ์ƒ์„ฑํ•˜๊ธฐ

BaseFrameClass ์‚ฌ์šฉ๋ฒ•

์‚ฌ์šฉ ์‚ฌ๋ก€

ํ—ฌ์Šค์ฒดํฌ, ์œ ํ‹ธ๋ฆฌํ‹ฐ ์˜ˆ์ œ

@api ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ

API ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

Model

Entity ๊ธฐ๋ฐ˜ API