MVC ํจํด์ด๋ Model, View, Controller์ ์ฝ์์ด๋ค.
Model
๋ชจ๋ธ์ ์ด๋ค ๋์์ ์ํํ๋ ์ฝ๋๋ฅผ ๋งํ๋ฉฐ, ํ์ ํ์์ ์์กดํ์ง ์๋๋ค.
๋ชจ๋ธ์ ์ํ์ ๋ณํ๊ฐ ์์ ๋ ์ปจํธ๋กค๋ฌ์ ๋ทฐ์ ์ด๊ฒ์ ํต๋ณดํ๋ค. ์ด๋ค MVC ํจํด์์๋ ํต๋ณด๊ฐ ์๋ ๋ทฐ๋ ์ปจํธ๋กค๋ฌ๊ฐ ์ง์ ๋ชจ๋ธ์ ์ํ๋ฅผ ์ฝ์ด์ค๊ธฐ๋ ํ๋ค.
View
๋ทฐ๋ ์ฑ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ์์ ์ ์ํ๋ค.
-> ์ฌ์ฉ์๊ฐ ๋ณผ ๊ฒฐ๊ณผ๋ฌผ์ ์์ฑํ๊ธฐ ์ํด ๋ชจ๋ธ๋ก๋ถํฐ ์ ๋ณด๋ฅผ ์ป์ด์จ๋ค.
MVC์์ ๋ชจ๋ธ์ ์ฌ๋ฌ ๊ฐ์ ๋ทฐ๋ฅผ ๊ฐ์ง ์ ์๋ค.
Controller
MVC์ ๋ทฐ๋ ์ฌ๋ฌ ๊ฐ์ ์ปจํธ๋กค๋ฌ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ฌ์ฉ์๋ ์ด ์ปจํธ๋กค๋ฌ๋ฅผ ํตํด ๋ชจ๋ธ์ ์ํ๋ฅผ ๋ฐ๊พผ๋ค.
์ปจํธ๋กค๋ฌ๋ ๋ชจ๋ธ์ ๋ช ๋ น์ ๋ณด๋ด ๋ชจ๋ธ์ ์ํ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค.
์ปจํธ๋กค๋ฌ๊ฐ ๊ด๋ จ๋ ๋ทฐ์ ๋ช ๋ น์ ๋ณด๋ด ๋ชจ๋ธ์ ํ์ ๋ฐฉ๋ฒ์ ๋ฐ๊ฟ ์ ์๋ค.
MVC ํจํด
์ฝ๊ฒ ๋งํด์ ์ฌ์ฉ์๊ฐ ์ปจํธ๋กค๋ฌ๋ฅผ ์กฐ์ํ๋ฉด ์ปจํธ๋กค๋ฌ๋ ๋ชจ๋ธ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ ๊ทธ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ๋ทฐ๋ฅผ ํตํด ์๊ฐ์ ์ผ๋ก ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ๋ค. ์ด๋ฌํ ํจํด์ ์ฌ์ฉํ๋ค๋ฉด ๋น์ง๋์ค ๋ก์ง๊ณผ UI ๋ก์ง์ ๋ถ๋ฆฌํด์ ์ ์ง๋ณด์๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์ํํ ์ ์๊ฒ ๋๋ค.
์ด๋ฌํ MVC ํจํด์๋ ๋ ๊ฐ์ง ์ข ๋ฅ๊ฐ ์๋ค.
Model 1
Model 1์ JSP์์ ๋ชจ๋ ๋ก์ง๊ณผ ์ถ๋ ฅ์ ์ฒ๋ฆฌํ๋ค.
์ฆ, JSP ํ์ด์ง์ ๋น์ง๋์ค ๋ก์ง์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ฝ๋์ ์นํ๋ผ์ฐ์ ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ์ฝ๋๊ฐ ์์ฌ ์๋ค.
Model 2
Model 2๋ ๋ชจ๋ ์์ฒญ์ ์๋ธ๋ฆฟ์ด ๋ฐ์ ์ฒ๋ฆฌํ๊ณ JSP ํ์ด์ง๋ก ํฌ์๋ํ๋ค.
์ด๋ ์๋ธ๋ฆฟ์ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ ) ์์ฒญ์ ๊ตฌ๋ถํ์ฌ ์ฒ๋ฆฌํ๋ค. (View๋ก ๋ณด์ฌ์ค ๊ฒ์ธ์ง Model๋ก ๋ณด๋ผ ๊ฒ์ธ์ง๋ฅผ ํ๋จํ์ฌ ์ ์ก)
์ฐจ์ด์
Model 1
Model 1์ ๊ฒฝ์ฐ์๋ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ์ง๋ง, JSP ํ์ผ์ด ๋๋ฌด ์ปค์ง๊ณ ์ปจํธ๋กค๋ฌ์ ๋ทฐ๊ฐ ๊ฐ์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ ์ง๋ณด์์ ์ด๋ ต๋ค.
Model 2
Model 2์ ๊ฒฝ์ฐ์๋ ๋์์ด๋์ ๊ฐ๋ฐ์์ ๋ถ์ ์ด ๊ฐ๋ฅํ๊ณ , ์ ์ง๋ณด์ ๋ฐ ํ์ฅ์ด ์ฝ๋ค.
ํ์ง๋ง ์ค๊ณ๊ฐ ์ด๋ ต๊ณ ๊ฐ๋ฐ ๋์ด๋๊ฐ ๋๋ค.
์ฐธ๊ณ ๋ธ๋ก๊ทธ
'๐ฅ๏ธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JDBC] Connection Pool (0) | 2024.01.29 |
---|---|
[Servlet] ์ ๋ํ ์ด์ (Annotaion) (0) | 2024.01.22 |
[Servlet] ์๋ช ์ฃผ๊ธฐ(Life Cycle) (0) | 2024.01.19 |
[JS] Hoisting(ํธ์ด์คํ ) (0) | 2024.01.16 |
[SQL] ์ฟผ๋ฆฌ (0) | 2024.01.10 |