BackEnd๐Ÿงต

TIL - MVC ํŒจํ„ด

hae02y 2023. 7. 21. 17:39
๋ฐ˜์‘ํ˜•

MVC ํŒจํ„ด

MVC ํŒจํ„ด์˜ ๋“ฑ์žฅ ์ด์œ 

ํ•˜๋‚˜์˜ ์„œ๋ธ”๋ฆฟ or JSP๋งŒ ์‚ฌ์šฉํ•ด์„œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ๋ทฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋„ˆ๋ฌด ๋งŽ์€ ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๊ฒŒ ๋˜์–ด ์œ ์ง€๋ณด์ˆ˜์‹œ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค. UI์˜ ์ˆ˜์ •๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค๋กœ์ง์„ ์ˆ˜์ •ํ•˜๋Š” ์ผ์€ ์„œ๋กœ์—๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์•„์•ผํ•˜๋Š”๋ฐ ํ•˜๋‚˜์˜ ์ฝ”๋“œ๋กœ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์–ด๋ ค์›€์ด ์žˆ๋‹ค.

 

MVC ํŒจํ„ด์ด๋ž€?

MVCํŒจํ„ด์€ Model, View, Controller ๋ผ๋Š” ์˜์—ญ์œผ๋กœ ์„œ๋กœ์˜ ์—ญํ• ์„ ๋‚˜๋ˆˆ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์›น์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ด๋Ÿฌํ•œ ํŒจํ„ด์ด ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. ์œ„์˜ ๊ทธ๋ฆผ์ƒ์œผ๋กœ ์ปจํŠธ๋กค๋Ÿฌ์— ๋น„์ฆˆ๋‹ˆ์Šค์˜ ๋กœ์ง์„ ๋‹ด๋Š”๊ฒƒ์œผ๋กœ ํ‘œํ˜„๋˜์–ด ์žˆ์ง€๋งŒ, ๋น„์ฆˆ๋‹ˆ์Šค๋กœ์ง์€ Service ๊ณ„์ธต์„ ๋งŒ๋“ค์–ด ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. 

  • Controller : HTTP ์š”์ฒญ์„ ๋ฐ›์•„ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฒ€์ฆํ•˜๊ณ , ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํ˜ธ์ถœํ•œ๋‹ค. ๋ทฐ์— ์ „๋‹ฌํ•  ๊ฒฐ๊ณผ๋ฅผ ์กฐํšŒํ•ด์„œ ๋ชจ๋ธ์— ๋‹ด๋Š”๋‹ค.
  • Model : ๋ทฐ์— ์ถœ๋ ฅํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„๋‘”๋‹ค. ๋ทฐ๊ฐ€ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ๋ชจ๋ธ์— ๋‹ด์•„์„œ ์ „๋‹ฌํ•˜์—ฌ ๋ทฐ์—์„œ๋Š” ๋น„์ฆˆ๋‹ˆ์Šค๋กœ์ง๊ณผ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ํ•˜์ง€ ์•Š๊ณ  ํ™”๋ฉด๋ Œ๋”๋ง์—๋งŒ ์ง‘์ค‘ํ•œ๋‹ค.
  • View : ๋ชจ๋ธ์— ๋‹ด๊ธด ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ™”๋ฉด์„ ๋ Œ๋”๋งํ•œ๋‹ค.

 

๋ฐ˜์‘ํ˜•