ํฌ์ค์ฝX์ฝ๋ฉ์จ 7๊ธฐ 5์ฃผ์ฐจ ch2. MVC
ํฌ์ค์ฝX์ฝ๋ฉ์จ 7๊ธฐ 5์ฃผ์ฐจ ch2. mvc ํจํด!
npm init -y // ํ๋ก์ ํธ ์์ ๋ช
๋ น์ด
npm install express ejs // express์ ejsํจํค์ง ์ค์น
MVC๋? ์ฅ๋จ์
Model View Controller
: ์ํํธ์จ์ด ์ค๊ณ๊ณผ ๊ด๋ จ๋ ๋์์ธ ํจํด
: php , Django, Express, Angular ๋ฑ mvc์ด์ฉ ์น ํ๋ ์์ํฌ
์ฅ์ ?
- ํจํด๋ค์ ๊ตฌ๋ถํด ๊ฐ๋ฐ ๊ฐ๋ฅ
- ์ ์ง๋ณด์ ์ฉ์ด
- ์ ์ฐ์ฑ์ด ๋๋ค
- ํ์ฅ์ฑ์ด ๋๋ค
- ํ์ ์ ์ฉ์ดํ๋ค
๋จ์ ?
- ์๋ฒฝํ ์์กด์ฑ ๋ถ๋ฆฌ๊ฐ ์ด๋ ต๋ค
-์ค๊ณ ๋จ๊ณ๊ฐ ๋ณต์กํ๋ค
- ์ค๊ณ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค
- ํด๋์ค (๋จ์) ๊ฐ ๋ง์์ง๋ค
Model : ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ
view : ui์ ๊ด๋ จ๋ ๊ฒ์ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ
Controller : view ์ model์ ์ฐ๊ฒฐํด์ฃผ๋ ๋ถ๋ถ
์ ์ฒด ํด๋ ๊ตฌ์กฐ
์กฐ๊ธ์ ๋ณต์กํ์ง๋ง,
์ด๋ฐ ์์ผ๋ก ๊ตฌ์ฑ์ ํ๋ค!
model์ data๊ฐ์ ๊ฐ์ ธ์ view์ ์ถ๋ ฅํ๋
mvc ํจํด ์ฝ๋ ๋ฆฌ๋ทฐ!
index.js
- Router๋ฅผ ๋ถ๋ฌ์ค๋ ๋ถ๋ถ์ด๋ค.
- ์์ ์ฝ๋๋ฅผ ์ด์ฉํด ํน์ ์์ url์ญํ ๊ตฌ๋ถ ๊ฐ๋ฅํ๋ค
router/index.js
- ๊ฒฝ๋ก๋ฅผ controller์ ์ฐ๊ฒฐํด์ ์ค์ ๊ฐ๋ฅํ๋ค.
- /visitor ๊ฒฝ๋ก๋ก ๋ค์ด๊ฐ๋ฉด
๋ชจ๋ธ์์ ๋ฐ์์จ ๋ฐ์ดํฐ๋ฅผ ์ปจํธ๋กค์ ๋ณด๋ด๊ณ ,
์ปจํธ๋กค์ ์๋ ๋ฐ์ดํฐ ๋ค์ด
view์ ๋ณด์ฌ์ง๊ฒ ๋๋ค.
๊ทธ ๊ฒฝ๋ก๋ฅผ router์์ ์ค์ ํด ์ค ๊ฒ!
model/visitor
controller/visitor.js
์ปจํธ๋กค๋ฌ์ ๋ชจ๋ธ์ ์ฐ๊ฒฐํ๊ณ ,
data์ ๋ชจ๋ธ์ ์ฐ๊ฒฐํจ.
view/index, view/visitor
controller์ ๋ค์ด๊ฐ data๊ฐ์
view์ ๋ฃ์
๊ฒฐ๊ณผ
๊ทธ๋ ๋ค๋ฉด
์๋ ๊ฒ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค!