Study_Develop/ํฌ์Šค์ฝ” X ์ฝ”๋”ฉ์˜จ ๋ถ€ํŠธ์บ ํ”„

ํฌ์Šค์ฝ”X์ฝ”๋”ฉ์˜จ 7๊ธฐ 5์ฃผ์ฐจ ch2. MVC

hiijihyun 2023. 6. 5. 00:05
๋ฐ˜์‘ํ˜•

ํฌ์Šค์ฝ”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์— ๋„ฃ์Œ

 

๊ฒฐ๊ณผ

 

 

๊ทธ๋ ‡๋‹ค๋ฉด 

์š”๋ ‡๊ฒŒ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค!