"์ ์ง๋ณด์"๊ฐ ํธํด์ง๋ ์ฝ๋ ๊ตฌ์ฑ ๋ฐฉ์
Model : ๋ฐ์ดํฐ์ ๊ด๋ จ๋ ๋ถ๋ถ View: ์ฌ์ฉ์ํํ
๋ณด์ฌ์ง๋ ๋ถ๋ถ Controller : Model๊ณผ View๋ฅผ ์ด์ด์ฃผ๋ ๋ถ๋ถ
5๊ฐ์ง ๊ท์น.
- Model์ Controller์ View์ ์์กดํ์ง ์์์ผ ํ๋ค. (Model ๋ด๋ถ์ Controller์ View์ ๊ด๋ จ๋ ์ฝ๋๊ฐ ์์ผ๋ฉด ์ ๋๋ค.)
- View๋ Model์๋ง ์์กดํด์ผ ํ๊ณ , Controller์๋ ์์กดํ๋ฉด ์ ๋๋ค. (View ๋ด๋ถ์ Model์ ์ฝ๋๋ง ์์ ์ ์๊ณ , Controller์ ์ฝ๋๊ฐ ์์ผ๋ฉด ์ ๋๋ค.)
- View๊ฐ Model๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ๋๋, ์ฌ์ฉ์๋ง๋ค ๋ค๋ฅด๊ฒ ๋ณด์ฌ์ฃผ์ด์ผ ํ๋ ๋ฐ์ดํฐ์ ๋ํด์๋ง ๋ฐ์์ผ ํ๋ค.
- Controller๋ Model๊ณผ View์ ์์กดํด๋ ๋๋ค. (Controller๋ด๋ถ์๋ Model๊ณผ View์ ์ฝ๋๊ฐ ์์ ์ ์๋ค.)
- View๊ณผ Model๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ๋, ๋ฐ๋์ Controller์์ ๋ฐ์์ผ ํ๋ค.
MVC ๋ชจ๋ธ
์ ํ๋ฆฌ์ผ์ด์
์ Model View Controller ์ธ๊ฐ์ง๋ก ๋ถ๋ฅํด๋์ ๋ฐฉ๋ฒ
๋ชจ๋ธ1 : JSP (view) + JavaBean(Model) === ๊ตฌ์กฐ๊ฐ๋จ์ํ๋ค. but, ์ถ๋ ฅ๊ณผ ๋ก์ง ์ฝ๋๊ฐ ์์ฌ jsp์ฝ๋๊ฐ ๋ณต์กํด์ง๋ค.ํ๋ก ํธ์ ๋ฒก์๋๊ฐ ํผ์ฌ๋์ด ๋ถ์
์ด ์์ข๋ค. ์ ์ง๋ณด์๊ฐ ์ด๋ ต๋ค.
๋ชจ๋ธ2 : JavaBean(Model) + JSP(View) + ์๋ธ๋ฆฟ(Controler) === MVC : ๋ทฐ์ ๋ก์ง์ ๋ถ๋ฆฌ๋ก ๋ชจ๋ธ1์ ๋นํด ๋ ๋ณต์กํ๊ณ , ๋ถ์
์ด ์ฉ์ดํ๊ณ ๋ณด์๊ฐ ์ฝ๋ค. ๋ชจ๋ธ 1์ ๋นํด ์ต๋์ด ์ด๋ ต๊ณ ์์
๋์ด ๋ง๋ค.
MVC์ ํ๋ฆ :
- ์ฌ์ฉ์๋ ์ํ๋ ๊ธฐ๋ฅ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ชจ๋ ์์ฒญ์ ์ปจํธ๋กค๋ฌ์ ๋ณด๋ธ๋ค.
- ์ปจํธ๋กค๋ฌ๋ ๋ชจ๋ธ์ ์ฌ์ฉํ๊ณ , ๋ชจ๋ธ์ ์๋ง์ ๋น์ฆ๋์ค ๋ก์ง์ ์ํํ๋ค.
- ์ปจํธ๋กค๋ฌ๋ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค ๋ทฐ๋ฅผ ์ ํํ๋ค.
- ์ ํ๋ ๋ทฐ๋ ์ฌ์ฉ์์๊ฒ ์๋ง๋ ๊ฒฐ๊ณผ ํ๋ฉด์ ๋ณด์ฌ์ค๋ค. ์ด๋ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค ๋ฐ์ดํฐ๋ ์ปจํธ๋กค๋ฌ๋ฅผ ํตํด์ ์ ๋ฌ ๋ฐ๋๋ค.
Model === ๊ฐ๊ณผ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฒด.
View === ๋ชจ๋ธ์ ํฌํจ๋ ๋ฐ์ดํฐ์ ์๊ฐํ
Controller === ๋ชจ๋ธ ๊ฐ์ฒด๋ก์ ๋ฐ์ดํฐ ํ๋ฆ์ ์ ์ด, ๋ทฐ์ ๋ชจ๋ธ์ ์ญํ ์ ๋ถ๋ฆฌ.
why MVC?
๊ฐ ์ปดํฌ๋ํธ์ ์ฝ๋ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๊ธฐ์ํด, ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ธฐ ์ํด ๊ตฌํ์๋ค ๊ฐ์ ์ปค๋ฎค๋์ผ์ด์
ํจ์จ์ฑ์ ๋์ด๊ธฐ ์ํด
MVC์์ ์์ฃผ ์ค์ํ๋ ๋ถ๋ถ
- Model์์ View์ ์ ๊ทผ ๋๋ ์ญํ ์ํ
- View์์ ์ผ์ด๋๋ '๊ณผํ'๊ฐ ๊ฒ์ฆ๊ณผ ์์ธ ์ฒ๋ฆฌ -> ๋จ์ผ์ฑ ์์์น ์๋ฐ
- View์์ ์ผ์ด๋๋ ๋น์ฆ๋์ค ๋ก์ง
ย