์ด ๋ด์ฉ์ ์ฐ์ํํ ํฌ์ฝ์ค ํ ์ฝํก ์์์ ๋ณด๊ณ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
MVC๋?
์ ์ง๋ณด์๊ฐ ํธํด์ง๋ ์ฝ๋ ๊ตฌ์ฑ ๋ฐฉ์!
Model : ๋ฐ์ดํฐ์ ๊ด๋ จ๋ ๋ถ๋ถ
View : ์ฌ์ฉ์ํํ ๋ณด์ฌ์ง๋ ๋ถ๋ถ
Controller : Model๊ณผ View๋ฅผ ์ด์ด์ฃผ๋ ๋ถ๋ถ
MVC๋ ์ ์๊ฒจ๋ฌ์๊น?
์ฝ๋๊ฐ ๋ง์์ง๋ฉด ๋ง์์ง์๋ก ์ฝ๋๊ฐ ๋ณต์กํด์ ธ์ ์ฝ๋๋ฅผ ํ์ ํ๊ธฐ๋ ํ๋ค์ด์ง๊ณ ๊ธฐ๋ฅ์ ์์ ํ ๋๋ง๋ค ๋๋ถ๋ถ์ ์ฝ๋๋ฅผ ๊ฐ์์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค๊ณ ํฉ๋๋ค. ์ ์ง๋ณด์๋ฅผ ํธํ๊ฒ ํ๊ธฐ ์ํด ๊ณ ๋ฏผํ๋ค๊ฐ ์๊ฒจ๋๊ฒ ๋ ๋์์ธ ํจํด์ด ๋ฐ๋ก MVC ์ ๋๋ค.
MVC ๋ง๋ณด๊ธฐ
1. ์ ์ ๊ฐ '๋ฌด์ธ๊ฐ'๋ฅผ ๊ฒ์ํจ
2. Controller๋ ์ ์ ๊ฐ ๊ฒ์ํ ๋ฐ์ดํฐ๋ฅผ Model์๊ฒ ์์ฒญํจ.
3. Model์ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ๋ฅผ Controller์๊ฒ ์ค
4. Controller๋ Model์๊ฒ ๋ฐ์ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ๋ฅผ View๋ก ์ ๋ฌํ๋ค.
5. View๋ ์ ์ ๊ฐ ๋ณด๋ ๋ ์ด์์์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ ์น ํ์ด์ง๋ฅผ ๋ณด์ฌ์ค๋ค.
MVC๋ฅผ ์งํค๋ฉด์ ์ฝ๋ฉํ๋ 5๊ฐ์ง ๋ฐฉ๋ฒ
1. Model์ Controller์ View์ ์์กดํ์ง ์์์ผ ํฉ๋๋ค.
(Model ๋ด๋ถ์ Controller์ View์ ๊ด๋ จ๋ ์ฝ๋๊ฐ ์์ผ๋ฉด ์๋ฉ๋๋ค. import no!!)
2. View๋ Model์๋ง ์์กดํด์ผ ํ๊ณ , Controller์๋ ์์กดํ๋ฉด ์๋ฉ๋๋ค.
(View ๋ด๋ถ์ Model์ ์ฝ๋๋ง ์์ ์ ์๊ณ , Controller์ ์ฝ๋๊ฐ ์์ผ๋ฉด ์๋ฉ๋๋ค. )
3. View๊ฐ Model๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ๋๋, ์ฌ์ฉ์๋ง๋ค ๋ค๋ฅด๊ฒ ๋ณด์ฌ์ฃผ์ด์ผ ํ๋ ๋ฐ์ดํฐ์ ๋ํด์๋ง ๋ฐ์์ผ ํฉ๋๋ค.
4. Controller๋ Model๊ณผ View์ ์์กดํด๋ ๋ฉ๋๋ค.
(Controller ๋ด๋ถ์๋ Model๊ณผ View์ ์ฝ๋๊ฐ ์์ ์ ์์ต๋๋ค. )
5. View๊ฐ Model๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ๋, ๋ฐ๋์ Controller์์ ๋ฐ์์ผ ํฉ๋๋ค.
๐ ์๋ชป๋ ๊ฐ๋ ์ ๋ฌ์ด ์๋ค๋ฉด ๋๊ธ ๋ถํ๋๋ฆฝ๋๋ค. ์ ์ ์ฑ์ฅ์ ํฐ ๋์์ด ๋ฉ๋๋ค๐ค
'๐ฅFrontEnd > ํ๋ก ํธ์๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์น ์ฌ์ดํธ ์ฑ๋ฅ ์ต์ ํ์ ๋ธ๋ผ์ฐ์ ๋ ๋๋ง ๊ณผ์ (0) | 2024.07.26 |
---|---|
ํ๋ก์ ํธ ์์ฑ๋ ๋์ด๋ ๋ฐฉ๋ฒ 4๊ฐ์ง (0) | 2022.11.21 |
์ต์ ํ (Optimization), ์ต์ ํ ๊ธฐ๋ฒ (0) | 2022.08.09 |
TIL) ํจ์จ์ ์ธ ๊ฐ๋ฐ ํ๋ก์ธ์ค CI/CD, CI/CD๋ฅผ ์ํ ๋ค์ํ Tools (0) | 2022.08.08 |
Lighthouse๋, Lighthouse ์ฌ์ฉํ๊ธฐ, Lighthouse ๋ถ์ํด๋ณด๊ธฐ (0) | 2022.08.04 |