๐ŸŒนย ์ •๋ฆฌ by ์žฅ๋ฏธ(https://velog.io/@newbiekim/)

MVC: Model, View, Controller

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

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

MVC ๊ฐœ๋… ์ด๋ฏธ์ง€

MVC ๊ฐœ๋… ์ด๋ฏธ์ง€

Controller

๋ชจ๋ธ๊ณผ ๋ทฐ ์‚ฌ์ด์—์„œ ๋ธŒ๋ฆฟ์ง€ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ๋ชจ๋ธ ๋ฐ ๋ทฐ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๋กœ์ง์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค.

์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์€ ๋ชจ๋‘ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ด ์ง„ํ–‰๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์ปจํŠธ๋กค๋Ÿฌ๋กœ ๋“ค์–ด์˜จ ์š”์ฒญ์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ์ง€ ๊ฒฐ์ •ํ•˜์—ฌ ๋ชจ๋ธ๋กœ ์ „๋‹ฌํ•œ๋‹ค.

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

Model

๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์˜์—ญ์ด๋‹ค.

DB์™€ ์—ฐ๋™์„ ์œ„ํ•œ DAO(Data Access Object)์™€ ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” DO(Data Object)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

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

View