๐ŸŒฑ → ๐ŸŒณ

MVC Pattern๋ž€? ๋ณธ๋ฌธ

Computer Science

MVC Pattern๋ž€?

BAY 2022. 9. 26. 13:24
728x90

๐Ÿ“Œ MVC ํŒจํ„ด
: Model View Controller

์›น ์„ค๊ณ„์— ๋Œ€ํ•œ ๊ตฌ์กฐ 

์›น ์„ค๊ณ„๋ฅผ 3๊ฐ€์ง€ ๋‹จ๊ณ„๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ตฌ์กฐ์  ์žฅ์ ์„ ๊ฐ€์ง€๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ

๊ธฐ๋Šฅ์ถ”๊ฐ€๋„ ์šฉ์ด (์œ ์ง€๋ณด์ˆ˜ ๋ฐ ํ™•์žฅ์ด ํŽธ๋ฆฌ)

 

 

๐Ÿ”

model : DB

view: ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๊ณ  ์žˆ๋Š” ํ™”๋ฉด 

controller: DB์™€ view ์‚ฌ์ด 

 

 

 

 

โœ… Model 

์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์—ญํ•  

์‚ฌ์šฉ์ž๊ฐ€ ๋ณผ ์ˆ˜ ์—†๋Š” ๊ณณ์—์„œ DB๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ , ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œํ•˜๋Š” ์—ญํ• 

Controller ์™€ ์†Œํ†ตํ•˜๋ฉฐ, View ์™€๋Š” ์†Œํ†ตํ•˜์ง€ X

ex) ๋ชฝ๊ณ  DB์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ , ์‚ฝ์ž…ํ•˜๊ณ , ์ˆ˜์ •ํ•˜๋Š” ์—ญํ• 

-> ๋‹จ, ์ด ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜์˜ mongo.js ์— ๋ฌถ์–ด์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹

 

โœ… Controller

Model ๊ณผ View ์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์ปจํŠธ๋กค

Model ๋กœ ๋ถ€ํ„ฐ ์ „๋‹ฌ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•˜์—ฌ View ์—๊ฒŒ ์ „๋‹ฌ

View ๋ถ€ํ„ฐ ๋“ค์–ด์˜จ ์‚ฌ์šฉ์ž ์š”์ฒญ์„ Model ์— ์ „๋‹ฌ

์‚ฌ์šฉ์ž ์š”์ฒญ์€ ์ „๋ถ€ Controller ๊ฐ€ ์ฒ˜๋ฆฌํ•จ

ex) View ์—์„œ ์‚ญ์ œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ„ -> ํ•ด๋‹น ๋‚ด์šฉ์„ Controller ์— ์ „๋‹ฌ -> Controller ๋Š” ํ•ด๋‹น ๋‚ด์šฉ์„ Model ์ด ์•Œ์•„ ๋“ค์„ ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ Model ์— ์ „๋‹ฌ -> DB์—์„œ ํ•ด๋‹น ๋‚ด์šฉ ์‚ญ์ œ -> ํ•ด๋‹น ๋‚ด์šฉ์€ ๋‹ค์‹œ Controller ๋ฅผ ํ†ตํ•ด View ์ „๋‹ฌ -> ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ํ™”๋ฉด์ด ๋ณ€๊ฒฝ

 

โœ… View

model๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์ •๋ณด๋ฅผ controller๊ฐ€ ๋ฐ›์•„์„œ ์ „๋‹ฌํ•˜๋ฉด ๊ทธ๋ ค์ฃผ๋Š” ์—ญํ•  

์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ํ™”๋ฉด ๋‹ด๋‹น 

์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ controller๋กœ ์ „๋‹ฌ 

 

 

โœ”๏ธ MVC์˜ ์žฅ๋‹จ์ 

 

์žฅ์ 

  • ์—ญํ• ์ด ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„๋˜์–ด ์žˆ์–ด์„œ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›€
  • ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ™•์žฅ, ์œ ์ง€ ๋ณด์ˆ˜๊ฐ€ ์‰ฌ์šด
  • ํ”„๋ก ํŠธ ๋ฐฑ์ด ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ(ํ˜‘์—… ์šฉ์ด)

๋‹จ์ 

  • MVC๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์„ค๊ณ„ ํ•„์š”
  • MVC๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ๋‚˜๋ˆ„๊ธฐ๊ฐ€ ์–ด๋ ค์šด ๋ถ€๋ถ„์ด ์žˆ์–ด์„œ ๊ตฌ์กฐ์ƒ์œผ๋กœ ๋ณต์žกํ•ด์ง€๋Š” ๊ฒฝ์šฐ ๋งŽ์Œ 
728x90