๐Ÿ’ป JAVA_

JAVA#14 _ MVC Pattern

CodeLoge 2025. 1. 9. 20:13

#1 ์˜ค๋ฒ„๋กœ๋”ฉ

: ๋น„์Šทํ•˜๊ฑฐ๋‚˜ ๋˜‘๊ฐ™์€ ๊ธฐ๋Šฅ์˜ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค๋ฉด, ํ•จ์ˆ˜๋ช…์„ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉ

: ํ•จ์ˆ˜๋ช… ์ค‘๋ณต์ •์˜ ํ—ˆ์šฉ → ๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‹ˆ์ฒ˜๊ฐ€ ์„œ๋กœ ๋‹ฌ๋ผ์•ผํ•จ

: ์ธ์ž์˜ ๊ฐœ์ˆ˜๋‚˜ ํƒ€์ž…์ด ๋‹ฌ๋ผ์•ผํ•จ

 

#2 MVCํŒจํ„ด

โ†ช๏ธŽ Model = Database ํŒŒํŠธ : ๋ฐฐ์—ด์„ ๋‹ค๋ฃจ๋Š” ๊ฒฝ์šฐ

โ†ช๏ธŽ View = ํ™”๋ฉด, ์ฝ˜์†”์ฐฝ ํŒŒํŠธ : System.out.print(); ๊ฐ™์€ ๊ฒฝ์šฐ

โ†ช๏ธŽ Controller = ์‹ค์งˆ์ ์ธ ๊ธฐ๋Šฅ

 

: ์ผ์ข…์˜ ๋ฉ”๋‰ด์–ผ = "๊ฐœ๋ฐœ ํŒจํ„ด"

: ํ•ต์‹ฌ ๊ณต๊ฐ„์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ์ค‘์š”

: ์ „๋ฌธ์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด 'M' 'V' 'C' ๋กœ ๊ตฌ๋ถ„ํ•œ ํŒจํ„ด → ์ „๋ฌธ์„ฑ์„ ๋ถ€์—ฌํ•˜๋ฉด ํšจ์œจ์„ฑ์ด ์˜ฌ๋ผ๊ฐ

: ์ ˆ๋•Œ ๋ณ€ํ•˜์ง€ ์•Š์œผ๋ฉฐ MVC ํŒจํ„ด์„ ์“ฐ์ง€ ์•Š๋”๋ผ๋„, ํ•ด๋‹น ํŒจํ„ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ํŒจํ„ด ์‚ฌ์šฉ

: ๊ฐœ๋ฐœํ‰์ค€ํ™”๋ฅผ ์œ„ํ•ด ๊ฐ€์žฅ ๊ธฐ๋ณธ

Model View Controller
DBMS Front Service
DB Web page Backend

 

์‚ฌ์šฉ์ž → View → Controller → Model → DB

 

#3 MVCํŒจํ„ด - Model

: 5๊ฐœ์˜ ํ•จ์ˆ˜๋ฟ [C R U D]

: Create, Update, Delete๋Š” database์— ๋ณ€ํ•œ์„ ์คŒ

: Read - selectAll, selectOne์€ database์— ๋ณ€ํ™˜์ด ์—†์Œ

 

- selectAll : ์ „๋ถ€ ๋‹ค ๋ณด๋‚ด์ฃผ๋Š” ๊ฒƒ → ๋ฐ์ดํ„ฐ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด []

- selectOne : ํ•˜๋‚˜๋งŒ ๋ณด๋‚ด์ฃผ๋Š” ๊ฒƒ → ํ•˜๋‚˜์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด์ด ์•„๋‹˜

    โ†ช๏ธŽ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜๋งŒ ๋ฐ˜ํ™˜ํ•˜๋ ค๋ฉด ๋ช…ํ™•ํ•ด์•ผํ•จ → Primary Key, ์ฃผ์š”ํ‚ค : ๊ทธ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ฐ’์ธ์ง€ ํ™•์ธ์‹œ์ผœ์ฃผ๋Š” Key๊ฐ’

 

์ฝ”๋“œ ์ž‘์„ฑ ํ›„ Scope๋ฌธ์ œ

๊ฐˆ์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋  ๊ฒฝ์šฐ : ํ•จ์ˆ˜ ์•ˆ์—์„œ ๋งŒ๋“ค์—ˆ๋‹ค๋Š” ๊ฒƒ

ํŒŒ๋ž€์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋  ๊ฒฝ์šฐ : ํ•จ์ˆ˜ ๋ฐ”๊นฅ์ชฝ์—์„œ ๋‹น๊ฒจ์˜ค๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ

 

 

#4 MVCํŒจํ„ด - View 

: ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ํŒŒํŠธ

: UI / UX

: ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ

 

: View ๋ฉ”์„œ๋“œ์˜ ์ด๋ฆ„์€ ๋Œ€๋ถ€๋ถ„ input, print๋กœ ๋˜์–ด์žˆ์Œ → scanner๋กœ ์ž…๋ ฅ์„ ๋ฐ›๊ฑฐ๋‚˜, print๋กœ ์ถœ๋ ฅ