๐Ÿ–ฅFrontEnd/ํ”„๋ก ํŠธ์—”๋“œ

MVC๋ž€? MVC๋ฅผ ์ง€ํ‚ค๋ฉด์„œ ์ฝ”๋”ฉํ•˜๋Š” ๋ฐฉ๋ฒ•

hellohailie 2022. 11. 20. 21:03

 

์ด ๋‚ด์šฉ์€ ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค ํ…Œ์ฝ”ํ†ก ์˜์ƒ์„ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. 

 

 

MVC๋ž€?

์œ ์ง€๋ณด์ˆ˜๊ฐ€ ํŽธํ•ด์ง€๋Š” ์ฝ”๋“œ ๊ตฌ์„ฑ ๋ฐฉ์‹!

 

Model : ๋ฐ์ดํ„ฐ์™€ ๊ด€๋ จ๋œ ๋ถ€๋ถ„

View : ์‚ฌ์šฉ์žํ•œํ…Œ ๋ณด์—ฌ์ง€๋Š” ๋ถ€๋ถ„

Controller : Model๊ณผ View๋ฅผ ์ด์–ด์ฃผ๋Š” ๋ถ€๋ถ„

 


MVC๋Š” ์™œ  ์ƒ๊ฒจ๋‚ฌ์„๊นŒ?

์ฝ”๋“œ๊ฐ€ ๋งŽ์•„์ง€๋ฉด ๋งŽ์•„์งˆ์ˆ˜๋ก ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์ ธ์„œ ์ฝ”๋“œ๋ฅผ ํŒŒ์•… ํ•˜๊ธฐ๋„ ํž˜๋“ค์–ด์ง€๊ณ  ๊ธฐ๋Šฅ์„ ์ˆ˜์ •ํ•  ๋•Œ๋งˆ๋‹ค ๋Œ€๋ถ€๋ถ„์˜ ์ฝ”๋“œ๋ฅผ ๊ฐˆ์•„์—Ž๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์œ ์ง€๋ณด์ˆ˜๋ฅผ ํŽธํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์ƒ๊ฒจ๋‚˜๊ฒŒ ๋œ ๋””์ž์ธ ํŒจํ„ด์ด ๋ฐ”๋กœ MVC ์ž…๋‹ˆ๋‹ค. 

 


MVC ๋ง›๋ณด๊ธฐ

 

1. ์œ ์ €๊ฐ€ '๋ฌด์–ธ๊ฐ€'๋ฅผ ๊ฒ€์ƒ‰ํ•จ

2. Controller๋Š” ์œ ์ €๊ฐ€ ๊ฒ€์ƒ‰ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ Model์—๊ฒŒ ์š”์ฒญํ•จ.

3. Model์€ ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ Controller์—๊ฒŒ ์คŒ

4. Controller๋Š” Model์—๊ฒŒ ๋ฐ›์€ ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ View๋กœ ์ „๋‹ฌํ•œ๋‹ค. 

5. View๋Š” ์œ ์ €๊ฐ€ ๋ณด๋Š” ๋ ˆ์ด์•„์›ƒ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์„œ ์›น ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. 

 


MVC๋ฅผ ์ง€ํ‚ค๋ฉด์„œ ์ฝ”๋”ฉํ•˜๋Š” 5๊ฐ€์ง€ ๋ฐฉ๋ฒ•

1. Model์€ Controller์™€ View์— ์˜์กดํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

(Model ๋‚ด๋ถ€์— Controller์™€ View์— ๊ด€๋ จ๋œ ์ฝ”๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค. import no!!)

 

2. View๋Š” Model์—๋งŒ ์˜์กดํ•ด์•ผ ํ•˜๊ณ , Controller์—๋Š” ์˜์กดํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค. 

(View ๋‚ด๋ถ€์— Model์˜ ์ฝ”๋“œ๋งŒ ์žˆ์„ ์ˆ˜ ์žˆ๊ณ , Controller์˜ ์ฝ”๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค. )

 

3. View๊ฐ€ Model๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์„ ๋•Œ๋Š”, ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ๋ณด์—ฌ์ฃผ์–ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ๋งŒ ๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.  

 

4. Controller๋Š” Model๊ณผ View์— ์˜์กดํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค. 

(Controller ๋‚ด๋ถ€์—๋Š” Model๊ณผ View์˜ ์ฝ”๋“œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. )

 

5. View๊ฐ€ Model๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์„ ๋•Œ, ๋ฐ˜๋“œ์‹œ Controller์—์„œ ๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

 

 

 

 

๐Ÿ˜ƒ ์ž˜๋ชป๋œ ๊ฐœ๋… ์ „๋‹ฌ์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ €์˜ ์„ฑ์žฅ์— ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค๐Ÿค“