๐™ธ๐šƒ

MVC ํŒจํ„ด / MVC ์•„ํ‚คํ…์ณ ํ๋ฆ„ / DAO, SERVICE ์—ญํ• 

ํ•ด๋ฒ„๋‹ˆ 2023. 8. 20. 12:34
๋ฐ˜์‘ํ˜•

 

โ“๊ถ๊ธˆ์ฆโ“

mvc ํŒจํ„ด์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋˜ ์ค‘์— "์™œ mvc ํŒจํ„ด์—์„œ dao๋กœ ๋ฐ”๋กœ ์ฒ˜๋ฆฌ๋ฅผ ์•ˆ ํ•˜๊ณ  service์—์„œ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š”๊ฑธ๊นŒ?" ์— ๋Œ€ํ•œ ๊ถ๊ธˆ์ฆ์ด ์žˆ์–ด์„œ ๊ธ€์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

 

 

 

 

 

 

๊ทธ๋Ÿผ ์ผ๋‹จ mvc์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผ ํ•œ๋‹ค. (mvp๋„ ์•„๋‹ˆ๊ณ  mvc?)

mvc๋ž€? 

Model + View + Controller์˜ ์ฒซ ๊ธ€์ž๋ฅผ ๋”ด ์šฉ์–ด๋กœ, MVC ํŒจํ„ด์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ์šด๋‹ค.

 

 

MVC ํŒจํ„ด..?! 

์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ ํŒจํ„ด์ด๋ผ๋Š” ๊ฐœ๋…์ด ์žˆ๋Š”๋ฐ ์ด ํŒจํ„ด ์ค‘ ํ•˜๋‚˜๊ฐ€ MVC ํŒจํ„ด์ด๋‹ค.

์•„๋‹ˆ ๊ทธ๋Ÿผ ์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ ํŒจํ„ด์€ ๋ญ”๋ฐ?

 

(ํ•˜๋‚˜์˜ ๋ฌผ์Œํ‘œ๊ฐ€ ํ•˜๋‚˜์˜ ๋ฌผ์Œํ‘œ๋ฅผ ๋‚ณ๊ณ ,, ๋˜ ๋‚ณ๊ณ ,,)

(ํŒจํ„ด์ด๋ž€ ๋ง์„ ์ž๊พธ ์ƒ๊ฐํ•ด์„œ ์ž ์‹œ ๊ฒŒ์ŠˆํƒˆํŠธ ๋ถ•๊ดด๊ฐ€ ์™”๋‹ค.)

 

 

์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ ํŒจํ„ด

์‚ฌ๋žŒ๋“ค์€ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๋‹ค๊ฐ€ ๋˜‘๊ฐ™์€ ์‹ค์ˆ˜๋ฅผ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋œ๋‹ค.

๊ทธ ์‹ค์ˆ˜์˜ ํ•ด๊ฒฐ์ฑ…์„ ์ข…๋ฅ˜๋ณ„๋กœ ์ •๋ฆฌํ•˜์—ฌ ๋งŒ๋“ค์–ด ๋†“์€ ๊ฒƒ์ด ์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ ํŒจํ„ด์ด๋‹ค.

(ํฐ ์ข…๋ฅ˜๋กœ๋Š” ์ƒ์„ฑ ํŒจํ„ด / ๊ตฌ์กฐํŒจํ„ด / ํ–‰์œ„ ํŒจํ„ด์œผ๋กœ ๋‚˜๋‰˜์–ด์ง€๊ณ , MVC ํŒจํ„ด์€ ๊ตฌ์กฐ ํŒจํ„ด์— ์†ํ•œ๋‹ค.)

 

 

์ •๋ฆฌํ•˜์ž๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ตฌ์กฐ๋ฅผ 3๊ฐœ(Model / View / Controller)๋กœ ์ชผ๊ฐœ์„œ ๊ฐ๊ฐ์˜ ์—ญํ• ์„ ๋‚˜๋ˆ„์–ด ๋ถ„๋‹ดํ•˜์—ฌ ์ผ์„ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

์ฆ‰, MVC๋ž€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ตฌ์กฐ๋ฅผ ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ์ปดํฌ๋„ŒํŠธ๋กœ ๋‚˜๋ˆ„์–ด ๊ฐœ๋ฐœ์„ ํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค.

 

 

 

 

 

 

 

 

 

 

 

MVC ํŒจํ„ด ํ๋ฆ„

MVC ํŒจํ„ด ํ๋ฆ„์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์ž.

์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉ์ž๊ฐ€ ํ•˜๋‚˜์˜ ์›น ํŽ˜์ด์ง€์—์„œ ๋กœ๊ทธ์ธ์„ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

๊ทธ๋•Œ์˜ ํ–‰์œ„๋ฅผ ๋ณธ๋‹ค๋ฉด

 

โ‘  ์‚ฌ์šฉ์ž๊ฐ€ id, pwd๋ฅผ ์ž…๋ ฅํ•œ ํ›„ ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค. (VIEW)

โ‘ก ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด id์™€ pwd์˜ ์ •๋ณด๊ฐ€ CONTROLLER์—๊ฒŒ ๋„์ฐฉํ•˜๊ฒŒ ๋œ๋‹ค. (CONTROLLER)

โ‘ข CONTOLLER๋Š” MODEL์—๊ฒŒ ๋กœ๊ทธ์ธ ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค. (MODEL) 

โ‘ฃ SERVICE์—์„œ DAO๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์žˆ๋Š” id์™€ pwd๋ฅผ ๋น„๊ตํ•œ๋‹ค.

โ‘ค ๊ฒฐ๊ณผ ๊ฐ’์„ CONTROLLER์—๊ฒŒ ๋ณด๋‚ธ๋‹ค.

โ‘ฅ CONTOLLER๊ฐ€ ๊ฒฐ๊ณผ๊ฐ’์„ VIEW๋กœ ๋ณด์—ฌ์ฃผ๊ฒŒ ๋œ๋‹ค. (๋กœ๊ทธ์ธ ์„ฑ๊ณต / ๋กœ๊ทธ์ธ ์‹คํŒจ)

 

๋กœ ์ด์–ด์ง€๊ฒŒ ๋œ๋‹ค.

 

 

 

์—ฌ๊ธฐ์„œ ๋“  ๊ถ๊ธˆ์ฆ์€ โ‘ฃ๋ฒˆ์ด์—ˆ๋‹ค.

๊ทธ๋ƒฅ DAO๋กœ ๋ฐ”๋กœ ๊ฒ€์‚ฌํ•˜๋ฉด ๋˜์ง€ ์•Š๋‚˜? ํ•ด์„œ ๊ฒ€์ƒ‰์„ ํ•ด๋ดค๋‹ค.

 

 

๊ฒฐ๋ก ์ ์œผ๋กœ ์œ„์™€ ๊ฐ™์€ ๊ถ๊ธˆ์ฆ์„ ๊ฐ€์ง„ ๊ฒƒ์€ ํ•ด๋‹น ๊ฐœ๋…์„ ์ •ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์žˆ์ง€ ์•Š์•„์„œ ์ƒ๊ธด ๊ฒƒ์ด์—ˆ๋‹ค.

DAO์™€ SERVICE๋Š” ๊ฐ๊ฐ์˜ ์—ญํ• ์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

 

 

 

 

SERVICE

๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ค๋ฃจ๋Š” ๊ฐ์ฒด์ด๋‹ค.

CONTROLLER์™€ MODEL์‚ฌ์ด์—์„œ ์ค‘์žฌ ์—ญํ• ์„ ํ•œ๋‹ค.

 

 

DAO

๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ์ž‘์—…์„ ํ•˜๋Š” ๊ฐ์ฒด

์—ฌ๊ธฐ์„œ ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ์ž‘์—…์€ ๋ฐ์ดํ„ฐ CRUD (๋งŒ๋“ค๊ณ , ์ฝ๊ณ , ์ˆ˜์ •ํ•˜๊ณ , ์‚ญ์ œํ•˜๋Š”) ์ž‘์—…์„ ๋œปํ•œ๋‹ค.

 

 

๋น„์œ ๋ฅผ ํ•˜์ž๋ฉด, SERVICE๋Š” ์ฃผ๋ฐฉ์—์„œ ์žฌ๋ฃŒ๋ฅผ ๊ฐ–๊ณ  ์š”๋ฆฌ(๋กœ์ง ๋‹ค๋ฃจ๊ธฐ)ํ•˜๋Š” ๋Š๋‚Œ์ด๊ณ  DAO๋Š” ๋ƒ‰์žฅ๊ณ ์— ์žˆ๋Š” ์žฌ๋ฃŒ๋ฅผ ๊บผ๋‚ด๊ณ , ๋‹ค์‹œ ์ฑ„์›Œ๋„ฃ๋Š” ํ–‰์œ„(๋ฐ์ดํ„ฐ ์ ‘๊ทผ ์ž‘์—…)๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

 

โ‘ฃ๋ฒˆ์„ ์ž์„ธํžˆ ๋“ค์—ฌ๋‹ค ๋ณด๋ฉด

โ‘ฃ-1. SERVICE์—์„œ ๋กœ๊ทธ์ธ ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜๊ณ  DAO์—๊ฒŒ DB์— ์žˆ๋Š” ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•œ๋‹ค.

โ‘ฃ-2. DAO์—์„œ DB ์ ‘๊ทผ : DB์—์„œ ํ•ด๋‹น ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. (๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ์ž‘์—… : READ)

โ‘ฃ-3. SERVICE์—์„œ ๋น„๊ต : DAO์—๊ฒŒ ๋ฐ›์€ ์‚ฌ์šฉ์ž ์ •๋ณด์™€ ์ž…๋ ฅ๋ฐ›์€ ์ •๋ณด๋ฅผ ๋น„๊ตํ•œ ํ›„ CONTROLLER์—๊ฒŒ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ณด๋‚ธ๋‹ค.

 

 

์ด๋ ‡๊ฒŒ ์—ญํ• ์„ ๋ถ„๋‹ดํ•จ์œผ๋กœ์จ, ์ฝ”๋“œ ์œ ์ง€๋ณด์ˆ˜, ์„œ๋น„์Šค๊ฐ€ db์— ์˜์กดํ•˜์ง€ ์•Š๊ฒŒ ๋˜๊ณ , ํ™•์žฅ์„ฑ ํ™•๋Œ€, ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ ์ฆ๊ฐ€์˜ ์ด์ ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

 

 

 

โ—๊ถ๊ธˆ์ฆ ํ•ด๊ฒฐโ—

ํ•„์ž๋Š” service์™€ dao์˜ ์—ญํ• ์„ ํ˜ผ๋ˆํ•˜๊ณ  ์žˆ์—ˆ๋˜ ๊ฒƒ์ด์—ˆ๋‹ค.

๊ฐœ๋…์„ ์ œ๋Œ€๋กœ ์•Œ๊ณ  ์žˆ์—ˆ๋‹ค๋ฉด ์œ„์™€ ๊ฐ™์€ ๊ถ๊ธˆ์ฆ์ด ๋“ค์ง€ ์•Š์•˜์„ ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ฐœ๋…์„ ์ •๋ฆฌํ•ด๋ณด๋‹ˆ๊นŒ ์œ ์ตํ•œ ์‹œ๊ฐ„์ด์—ˆ๊ณ  ์œ„์— ๋Œ€ํ•ด ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ฒŒ ๋๋‹ค.

 

 

 

๋ฐ˜์‘ํ˜•