๐Ÿ˜พnest.js repository๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ

yyยท2024๋…„ 4์›” 5์ผ
0

์žก๋™์‚ฐ์ด

๋ชฉ๋ก ๋ณด๊ธฐ
21/21

expressjs์—์„œ๋Š” ๊ณ„์ธตํ™”ํ–ˆ์„๋•Œ ๋ฌด์กฐ๊ฑด repository๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์— ๋ฐ˜ํ•ด nestjs์—์„œ๋Š” ์–ธ์ œ๋Š” ์“ฐ๊ณ  ์–ธ์ œ๋Š” ์•ˆ์“ฐ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์“ธ๊ฑฐ๋ฉด ๋‹ค ์“ฐ๊ณ  ์•ˆ์“ฐ๋ ค๋ฉด ๋‹ค ์•ˆ์“ฐ์ง€ ์ด๊ฒŒ ๋ญ๋žŒ!? ๊ทธ ์ด์œ ์— ๋Œ€ํ•ด์„œ ์ฐพ์•„๋ดค๋‹ค.

์šฐ์„  expressjs์˜ ๊ฒฝ์šฐ ๋ฏธ๋‹ˆ๋ฉ€๋ฆฌ์ฆ˜์„ ๊ฐ•์กฐํ•˜๋Š” ์›น ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๊ณ , Repository๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ธ๋ฐ์— ๋ฐ˜ํ•ด,
nestjs์˜ ๊ฒฝ์šฐ Repository๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„๋„ ๋˜๋ฉฐ, NestJS์˜ Provider์™€ ์˜์กด์„ฑ ์ฃผ์ž…์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์„ ์ถ”์ƒํ™”ํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์„œ๋น„์Šค ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•œ๋‹ค.

๊ทธ๋Ÿผ nestjs์—์„œ repository๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์–ธ์ œ์ผ๊นŒ?

  1. ๋ณต์žกํ•œ ์ฟผ๋ฆฌ ๋…ผ๋ฆฌ : ๋‹จ์ˆœํ•œ CRUD(Create, Read, Update, Delete) ์ž‘์—… ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ ๋กœ์ง์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ. Repository๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ๋ฅผ ๋”์šฑ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ.

  2. ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ : ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์„ ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ๋ฌถ์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ.

  3. ์‚ฌ์šฉ์ž ์ •์˜ ๋ฉ”์„œ๋“œ : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ํŠน๋ณ„ํ•œ ์ž‘์—…์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, Repository์— ์‚ฌ์šฉ์ž ์ •์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ•ด๋‹น ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ฑฐ๋‚˜ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์‚ฌ์šฉ์ž ์ •์˜ Repository ๋ฉ”์„œ๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ.

  4. ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ : ์˜์กด์„ฑ ์ฃผ์ž…์„ ํ†ตํ•ด Mock Repository๋ฅผ ์ฃผ์ž…ํ•˜์—ฌ ์œ ๋‹› ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ.

profile
์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ๋ฟ ๋‚ด๊ฐ€ ๋ชปํ•  ๊ฑด ์—†๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€