๐นย ์ ๋ฆฌ by ์ฅ๋ฏธ(https://velog.io/@newbiekim/)
MVC: Model, View, Controller
๋์์ธ ํจํด ์ค ํ๋์ธ MVC ํจํด์ Model, View, Controller์ ์ค์๋ง๋ก, ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ ๋ ๊ทธ ๊ตฌ์ฑ ์์๋ฅผ ์ธ ๊ฐ์ง์ ์ญํ ๋ก ๊ตฌ๋ถํ ํจํด์ ์๋ฏธํ๋ค.
์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ก๋ถํฐ ๋น์ฆ๋์ค ๋ก์ง์ ๋ถ๋ฆฌํ์ฌ ์๋ก ์ํฅ ์์ด ์ฝ๊ฒ ๊ณ ์น ์ ์๋ ์ค๊ณ๊ฐ ๊ฐ๋ฅํ๋ค.
MVC ๊ฐ๋ ์ด๋ฏธ์ง
๋ชจ๋ธ๊ณผ ๋ทฐ ์ฌ์ด์์ ๋ธ๋ฆฟ์ง ์ญํ ์ ์ํํ๋ค.
์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ํ ์๋ต์ผ๋ก ๋ชจ๋ธ ๋ฐ ๋ทฐ๋ฅผ ์ ๋ฐ์ดํธ ํ๋ ๋ก์ง์ ํฌํจํ๊ณ ์๋ค.
์ฌ์ฉ์์ ์์ฒญ์ ๋ชจ๋ ์ปจํธ๋กค๋ฌ๋ฅผ ํตํด ์งํ๋์ด์ผ ํ๋ฉฐ, ์ปจํธ๋กค๋ฌ๋ก ๋ค์ด์จ ์์ฒญ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ง ๊ฒฐ์ ํ์ฌ ๋ชจ๋ธ๋ก ์ ๋ฌํ๋ค.
์: ์ผํ๋ชฐ์์ ์ํ์ ๊ฒ์ํ๋ฉด ๊ทธ ํค์๋๋ฅผ ์ปจํธ๋กค๋ฌ๊ฐ ๋ฐ์ ๋ชจ๋ธ๊ณผ ๋ทฐ์ ์ ์ ํ๊ฒ ์ ๋ ฅ์ ์ฒ๋ฆฌํ์ฌ ์ ๋ฌํ๋ค.
๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์์ญ์ด๋ค.
DB์ ์ฐ๋์ ์ํ DAO(Data Access Object)์ ๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ฅผ ํํํ๋ DO(Data Object)๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
์: ๊ฒ์์ ์ํ ํค์๋๊ฐ ๋์ด์ค๋ฉด DB์์ ๊ด๋ จ๋ ์ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ๋ทฐ์ ์ ๋ฌํ๋ค.