[FE - ConnecTo] DAY37 TIL๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป

JUNYยท2022๋…„ 8์›” 31์ผ
0

๐Ÿ“šZeroBase ConnecTo Front-End

๋ชฉ๋ก ๋ณด๊ธฐ
26/53
post-thumbnail

22.08.31 ์—ฌ๋Ÿฌ ์ž๋ฃŒ๋ฅผ ์ฐพ์•„๋ณด๋ฉฐ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ๋“ค์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค ๐Ÿ˜Š
ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค! ๐ŸŠ

MVC ํŒจํ„ด?

MVC๋ž€? Model, View, Controller์˜ ์•ฝ์ž๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ธ ๊ฐ€์ง€ ์—ญํ• ๋กœ ๊ตฌ๋ถ„ํ•œ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ Controller๋ฅผ ์กฐ์ž‘ํ•˜๋ฉด Model์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ , ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ View๋ฅผ ํ†ตํ•ด ์‹œ๊ฐ์  ํ‘œํ˜„์„ ์ œ์–ดํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํŒจํ„ด์„ ์„ฑ๊ณต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด, ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋กœ๋ถ€ํ„ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹œ๊ฐ์  ์š”์†Œ๋‚˜ ๊ทธ ์ด๋ฉด์—์„œ ์‹คํ–‰๋˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์„œ๋กœ ์˜ํ–ฅ์—†์ด ์‰ฝ๊ฒŒ ๊ณ ์น  ์ˆ˜ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๐Ÿค” ์ด๊ฒƒ์„ WEB์— ์ ์šฉํ•œ๋‹ค๋ฉด?
1. ์‚ฌ์šฉ์ž๊ฐ€ ์›น ์‚ฌ์ดํŠธ์— ์ ‘์†(Users)
2. Controller๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•œ ์›นํŽ˜์ด์ง€๋ฅผ ์„œ๋น„์Šคํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ชจ๋ธ์„ ํ˜ธ์ถœ(Mainpulates)
3. Model์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ํŒŒ์ผ๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ์ œ์–ดํ•œ ํ›„ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ Return
4. Controller๋Š” Model์ด ๋ฆฌํ„ดํ•œ ๊ฒฐ๊ณผ๋ฅผ View์— ๋ฐ˜์˜(Updates)
5. ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ˜์˜๋œ View๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง(Sees)

Model(๋ชจ๋ธ)

๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง„ ๊ฐ์ฒด๋ฅผ ์ง€์นญํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ๋‚ด๋ถ€ ์ƒํƒœ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์งˆ ์ˆ˜๋„ ์žˆ๊ณ , ๋ชจ๋ธ์„ ํ‘œํ˜„ํ•˜๋Š” ์ด๋ฆ„ ์†์„ฑ์œผ๋กœ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ์˜ ์ƒํƒœ์— ๋ณ€ํ™”๊ฐ€ ์žˆ์„ ๋•Œ ์ปจํŠธ๋กค๋Ÿฌ์™€ ๋ทฐ์— ์ด๋ฅผ ํ†ต๋ณดํ•ฉ๋‹ˆ๋‹ค. ์ด์™€ ๊ฐ™์€ ํ†ต๋ณด๋ฅผ ํ†ตํ•ด ๋ทฐ๋Š” ์ตœ์‹ ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๊ณ , ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๋ชจ๋ธ์˜ ๋ณ€ํ™”์— ๋”ฐ๋ฅธ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ๋ช…๋ น์„ ์ถ”๊ฐ€, ์ œ๊ฑฐ, ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ชจ๋ธ์˜ ๊ทœ์น™
    1. ์‚ฌ์šฉ์ž๊ฐ€ ํŽธ์ง‘ํ•˜๊ธธ ์›ํ•˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ๋งŒ ํ•จ
    2. ๋ทฐ๋‚˜ ์ปจํŠธ๋กค๋Ÿฌ์— ๋Œ€ํ•ด์„œ ์–ด๋– ํ•œ ์ •๋ณด๋„ ์•Œ์ง€ ๋ง์•„์•ผ ํ•จ
    3. ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜๋ฉด, ๋ณ€๊ฒฝ ํ†ต์ง€์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•จ

View(๋ทฐ)

View๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก ๊ธฐ์ˆ ์€ HTML, CSS, Javascript ๋“ค์„ ๋ชจ์•„๋‘” ์ปจํ…Œ์ด๋„ˆ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋ณผ ๊ฒฐ๊ณผ๋ฌผ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋ธ๋กœ๋ถ€ํ„ฐ ์ •๋ณด๋ฅผ ์–ป์–ด์˜ต๋‹ˆ๋‹ค.

  • ๋ทฐ์˜ ๊ทœ์น™
    1. ๋ชจ๋ธ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ •๋ณด๋ฅผ ๋”ฐ๋กœ ์ €์žฅํ•ด์„œ๋Š” ์•ˆ๋จ
    2. ๋ชจ๋ธ์ด๋‚˜ ์ปจํŠธ๋กค๋Ÿฌ์™€ ๊ฐ™์ด ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋ชฐ๋ผ์•ผ ํ•จ
    3. ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜๋ฉด, ๋ณ€๊ฒฝ ํ†ต์ง€์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•จ.

Controller(์ปจํŠธ๋กค๋Ÿฌ)

์‚ฌ์šฉ์ž๊ฐ€ ์ ‘๊ทผํ•œ URL์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์‚ฌํ•ญ์„ ํŒŒ์•…ํ•œ ํ›„์— ๊ทธ ์š”์ฒญ์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋ฅผ Model์— ์˜๋ขฐํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ View์— ๋ฐ˜์˜ํ•ด์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

  • ๋ชจ๋ธ์— ๋ช…๋ น์„ ๋ณด๋ƒ„์œผ๋กœ์จ ๋ทฐ์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค? โ‡’ ์›Œ๋“œ์—์„œ ๋ฌธ์„œ ํŽธ์ง‘

  • ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๊ด€๋ จ๋œ ๋ชจ๋ธ์— ๋ช…๋ น์„ ๋ณด๋ƒ„์œผ๋กœ์จ ๋ทฐ์˜ ํ‘œ์‹œ ๋ฐฉ๋ฒ•์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค? โ‡’ ๋ฌธ์„œ๋ฅผ ์Šคํฌ๋กค ํ•˜๋Š” ๊ฒƒ

  • ์ปจํŠธ๋กค๋Ÿฌ์˜ ๊ทœ์น™

    1. ๋ชจ๋ธ์ด๋‚˜ ๋ทฐ์— ๋Œ€ํ•ด์„œ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•จ
    2. ๋ชจ๋ธ์ด๋‚˜ ๋ทฐ์˜ ๋ณ€๊ฒฝ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์•ผ ํ•จ

MVC ํŒจํ„ด์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ?

  • ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ UI ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์œ ์ง€ ๋ณด์ˆ˜๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•จ
  • Model๊ณผ View๊ฐ€ ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ๋“ค์— ์ข…์†๋˜์ง€ ์•Š์•„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ™•์žฅ์„ฑ, ์œ ์—ฐ์„ฑ์— ์œ ๋ฆฌํ•จ
  • ์ค‘๋ณต ์ฝ”๋”ฉ์˜ ๋ฌธ์ œ์  ์ œ๊ฑฐ

MVC ํŒจํ„ด์˜ ํ•œ๊ณ„

MVC ํŒจํ„ด์—์„œ View๋Š” Controller์— ์—ฐ๊ฒฐ๋˜์–ด ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” ๋‹จ์œ„ ์š”์†Œ์ด๋ฏ€๋กœ ๋‹ค์ˆ˜์˜ View๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Model์€ Controller๋ฅผ ํ†ตํ•ด์„œ View์™€ ์—ฐ๊ฒฐ๋˜์ง€๋งŒ, Controller์— ์˜ํ•ด์„œ ํ•˜๋‚˜์˜ View์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š” Model๋„ ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ๋  ์ˆ˜ ์žˆ์–ด View์™€ Model์ด ์„œ๋กœ ์˜์กด์„ฑ์„ ๋„๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, Controller์— ๋‹ค์ˆ˜์˜ Model๊ณผ View๊ฐ€ ๋ณต์žกํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“šย ์ฐธ๊ณ  ์ž๋ฃŒ

profile
์„ฑ์žฅํ•˜๋Š” ๊ฐœ๋ฐœ์ž๐ŸŒผ

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