MVC Pattern
Mention : Model?๐ View?๐จ Controller?๐๐ปโโ๏ธ
Background
- ์ฝ๋์ ๋ณต์ก์ฑ, ์ ์ง๋ณด์์ ๋ถํธ
- ์ ์ง๋ณด์๊ฐ ํธํ ํจํด์ด ์๊ฒจ๋๊ฒ๋จ
- MVC ํจํด์ด ํ์
Model, View, Controller
- Model
- Data
- ๋ฐ์ดํฐ์ ๊ด๋ จ๋ ๋ถ๋ถ
- View
- html, css
- ์ฌ์ฉ์ํํ ๋ณด์ฌ์ง๋ ๋ถ๋ถ
- Controller
- Model ์ ๋ฐ์ดํฐ๋ฅผ View์ ์ฐ๊ฒฐ
- ์ ๋ฐ์ ์ธ ์ ์ด (์ค๊ฐ์ ์ญํ )
MVC Web Framework
- ex) Spring
MVC๋ฅผ ์งํค๋ฉด์ ์ฝ๋ฉํ๋ ๋ฐฉ๋ฒ
- Model์ Controller์ View์ ์์กดํ์ง ์์์ผ ํ๋ค.
- Model ๋ด๋ถ์ Controller์ View์ ๊ด๋ จ๋ ์ฝ๋๊ฐ ์์ผ๋ฉด ์๋๋ค.
- View๋ Model์๋ง ์์กดํด์ผ ํ๊ณ , Controller์๋ ์์กดํ๋ฉด ์๋๋ค.
- View ๋ด๋ถ์ Model์ ์ฝ๋๋ง ์์ ์ ์๊ณ , Controller์ ์ฝ๋๊ฐ ์์ผ๋ฉด ์๋๋ค.
- View๊ฐ Model๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ๋๋, ์ฌ์ฉ์๋ง๋ค ๋ค๋ฅด๊ฒ ๋ณด์ฌ์ฃผ์ด์ผ ํ๋ ๋ฐ์ดํฐ์ ๋ํด์๋ง ๋ฐ์์ผํ๋ค.
- Controller๋ Model๊ณผ View์ ์์กดํด๋ ๋๋ค.
- Controller ๋ด๋ถ์๋ Model๊ณผ View์ ์ฝ๋๊ฐ ์์ ์ ์๋ค.
- View๊ฐ Model๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ๋, ๋ฐ๋์ Controller์์ ๋ฐ์์ผํ๋ค.
- Summary
- ์ ํ๋ฆฌ์ผ์ด์ ์ Model, View, Controller ์ด ์ธ๊ฐ์ง์ ์ญํ ๋ก ๊ตฌ๋ถํ ์ํคํ ์ณ ๋์์ธ ํจํด ๋๋ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ค ํ๋์ ๋๋ค. ์ฌ์ฉ์๊ฐ Controller๋ฅผ ํตํด ์ ๊ทผ ํ URL์ ๋ฐ๋ผ์ ์ฌ์ฉ์์ ์์ฒญ์ฌํญ์ ํ์ ํ ํ์ ๊ทธ ์์ฒญ์ ๋ง๋ ๋ฐ์ดํฐ๋ฅผ Model ํตํด ๊ฐ์ ธ์ค๊ณ ๊ทธ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ์๊ฐ์ ์ธ ํํ์ ๋ด๋นํ๋ View๋ฅผ ์ ์ดํ์ฌ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ๊ฒ ๋ฉ๋๋ค. MVC์ ์ฅ์ ์ ๊ฐ ๊ตฌ์ฑ์์๋ฅผ ๋ ๋ฆฝ์ํด์ผ๋ก์จ ๊ฐ ํ์ด ๋งก์ ๋ถ๋ถ์ ๊ฐ๋ฐ์๋ง ์ง์คํ์ฌ ๋ฐ๋ก ๊ฐ๋ฐํ ์ ์์ด ํจ์จ์ฑ์ ๋์ผ ์ ์๊ณ ์ ์ง๋ณด์์ฑ, ํ์ฅ์ฑ๋ ๋ณด์ฅ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ณต์กํ ํ๋ฉด๊ณผ ๋ฐ์ดํฐ์ ๊ตฌ์ฑ์ด ํ์ํ ์ํฉ์ด๋ผ๋ฉด Controller์ ๋ค์์ Model๊ณผ View๊ฐ ๋ณต์กํ๊ฒ ์ฐ๊ฒฐ๋๋ ์ํฉ์ด ์๊ธธ ์ ์์ต๋๋ค. ๊ทธ๋ก ์ธํด ์ ๊ธฐ๋ฅ์ด ์ถ๊ฐ ๋ ๋๋ง๋ค ์ฝ๋ ๋ถ์์ด๋ ํ ์คํธ์ ์ด๋ ค์์ด ์๊ธธ ์ ์๋๋ฐ ์ด๋ฌํ ๋ฌธ์ ์ ๋ค์ ๋ณด์ํ๊ธฐ ์ํด MVVM ํจํด ๊ฐ์ ํด๊ฒฐ์ฑ ๋ ์ ์๋๊ณ ์์ต๋๋ค.
Reference ๐
Leave a comment