MVC ํŒจํ„ด

๊น€์„ฑํƒœยท2022๋…„ 6์›” 12์ผ
0

์Šคํ”„๋ง๋ถ€ํŠธ

๋ชฉ๋ก ๋ณด๊ธฐ
5/15
post-thumbnail

๐Ÿ” MVC (Model View Controller)

๋””์ž์ธ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜์ธ MVC ํŒจํ„ด์€ Model, View, Controller์˜ ์ค„์ž„๋ง๋กœ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•  ๋•Œ ๊ทธ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์„ธ๊ฐ€์ง€์˜ ์—ญํ• ๋กœ ๊ตฌ๋ถ„ํ•œ ํŒจํ„ด์„ ์˜๋ฏธ

์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋กœ๋ถ€ํ„ฐ ๋น„์ฆˆ๋‹ˆ์Šฌ ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์„œ๋กœ ์˜ํ–ฅ ์—†์ด ์‰ฝ๊ฒŒ ๊ณ ์น  ์ˆ˜ ์žˆ๋Š” ์„ค๊ณ„๊ฐ€ ๊ฐ€๋Šฅ

์ปจํŠธ๋กค๋Ÿฌ (Controller)

๋ชจ๋ธ(Model)๊ณผ ๋ทฐ(view) ์‚ฌ์ด์—์„œ ๋ธŒ๋ฆฟ์ง€ ์—ญํ• ์„ ์ˆ˜ํ–‰
์•ฑ์˜ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ๋ชจ๋ธ ๋ฐ ๋ทฐ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๋กœ์ง์„ ํฌํ•จ
์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์€ ๋ชจ๋‘ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ด ์ง„ํ–‰๋˜์–ด์•ผ ํ•จ
์ปจํŠธ๋กค๋Ÿฌ๋กœ ๋“ค์–ด์˜จ ์š”์ฒญ์€ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ์ง€ ๊ฒฐ์ •ํ•˜์—ฌ ๋ชจ๋ธ๋กœ ์š”์ฒญ์„ ์ „๋‹ฌํ•จ

ex) ์‡ผํ•‘๋ชฐ์—์„œ ์ƒํ’ˆ์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๊ทธ ํ‚ค์›Œ๋“œ๋ฅผ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋ฐ›์•„ ๋ชจ๋ธ๊ณผ ๋ทฐ์— ์ ์ ˆํ•˜๊ฒŒ ์ž…๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ „๋‹ฌํ•จ 

๋ชจ๋ธ (Model)

๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์˜์—ญ
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๋™์„ ์œ„ํ•œ DAO(Data Access Object)์™€ ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” DO(Data Object)๋กœ ๊ตฌ์„ฑ๋จ

ex) ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ํ‚ค์›Œ๋“œ๊ฐ€ ๋„˜์–ด์˜ค๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ด€๋ จ๋œ ์ƒํ’ˆ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ๋ทฐ์— ์ „๋‹ฌ

๋ทฐ (View)

๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ํ™”๋ฉด ์ž์ฒด์˜ ์˜์—ญ์„ ๋œปํ•จ
์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(UI) ์š”์†Œ๋“ค์ด ์—ฌ๊ธฐ์— ํฌํ•จ๋˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ ์š”์†Œ์— ๋ฐฐ์น˜ํ•จ
๋ทฐ์—์„œ๋Š” ๋ณ„๋„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•˜์ง€ ์•Š์Œ

ex) ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ๋ชจ๋ธ์—์„œ ๊ฒฐ๊ณผ ์ƒํ’ˆ ๋ฆฌ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์Œ

๐Ÿ“Œ MVC ํŒจํ„ด์˜ ํŠน์ง•

์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์—ญํ• ์„ ์„ธ ๊ตฌ๊ฐ„์œผ๋กœ ๋‚˜๋ˆ„์–ด ์„ค๊ณ„ํ•จ์œผ๋กœ์จ ์„œ๋กœ ๊ฐ„์˜ ์˜์กด์„ฑ์ด ๋‚ฎ์•„์ง
๊ฐ ์˜์—ญ์ด ๋…๋ฆฝ์ ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ๊ฐœ๋ฐœ์ž ๊ฐ„ ๋ถ„์—… ๋ฐ ํ˜‘์—…์ด ์›ํ™œํ•ด์ง
ํ•œ ์˜์—ญ์„ ์—…๋ฐ์ดํŠธ ํ•˜๋”๋ผ๋„ ๋‹ค๋ฅธ ๊ณณ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Œ

0๊ฐœ์˜ ๋Œ“๊ธ€