-์ปจํธ๋กค๋ฌ, ์๋น์ค, DAO ํด๋์ค๋ค์ ํจ๊ป ํ๋ ฅํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๋ฉฐ, MVC ํจํด์ ์ญํ ์ ๋ถ๋ดํจ
-์ปจํธ๋กค๋ฌ : ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ฐ์ ์ฒ๋ฆฌํ๊ณ , ๋ทฐ์ ๋ชจ๋ธ ์ฌ์ด์ ํ๋ฆ์ ์กฐ์
-์๋น์ค : ๋น์ฆ๋์ค ๋ก์ง์ ๋ด๋นํ๊ณ ๋ชจ๋ธ๊ณผ ์ปจํธ๋กค๋ฌ์ ์ค๊ฐ์ ์ญํ
-DAO : ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํธ์์ฉ์ ๋ด๋นํ๋ฉฐ, ๋ชจ๋ธ์ ๋ฐ์ดํฐ ์ก์ธ์ค๋ฅผ ์ฒ๋ฆฌ
์ปจํธ๋กค๋ฌ (Controller):
-์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ์๋ค์ด๊ณ ํด๋น ์์ฒญ์ ๋ฐ๋ผ ์ ์ ํ ์ฒ๋ฆฌ๋ฅผ ์ํํ๋ ์ญํ
-์ฌ์ฉ์์ ์ ๋ ฅ์ ์ฒ๋ฆฌํ๊ณ ์ด์ ๋ฐ๋ผ ๋ชจ๋ธ๊ณผ ๋ทฐ๋ฅผ ์กฐ์ํ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฆ์ ๊ด๋ฆฌ
-ํด๋ผ์ด์ธํธ์์ ์ธํฐํ์ด์ค ์ญํ ์ ํ๋ฉฐ, ์ฌ์ฉ์ ์์ฒญ์ ๋ฐ๋ผ ์๋น์ค์ ๋ชจ๋ธ์ ์ํธ์์ฉ์ ์กฐ์
์๋น์ค (Service):
-๋น์ฆ๋์ค ๋ก์ง์ ๋ด๋นํ๋ฉฐ, ์ปจํธ๋กค๋ฌ์ ๋ชจ๋ธ ์ฌ์ด์์ ์ค๊ฐ์ ์ญํ
-๋น์ฆ๋์ค ๋ก์ง์ ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๋ผ ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ๊ท์น ์ ์ฉ, ์์ ํ๋ฆ ๊ด๋ฆฌ ๋ฑ์ ์ํํ๋ ๋ถ๋ถ
-์ด๋ฌํ ๋น์ฆ๋์ค ๋ก์ง์ ๊ตฌํํ๊ณ ์ปจํธ๋กค๋ฌ์๊ฒ ์ ๊ณตํ์ฌ, ์ปจํธ๋กค๋ฌ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ทฐ์ ์ ๋ฌํ๋๋ก ํจ
-์๋น์ค ํด๋์ค๋ "๋ชจ๋ธ"์ ์ญํ ์ ์ํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
DAO (Data Access Object):
-๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํธ์์ฉ์ ์ถ์ํํ์ฌ ๋ฐ์ดํฐ ์ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๋ ์ญํ
-๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฐ๊ฒฐ, ์ฟผ๋ฆฌ ์คํ, ๋ฐ์ดํฐ ๋ณํ ๋ฑ์ ๋ค๋ฃจ๋ฉฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ ๊ทผ์ ๋ชจ๋ธ ๊ณ์ธต์์ ๋ถ๋ฆฌ์์ผ์ค
-๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํต์ ์ฒ๋ฆฌํ๋ฏ๋ก, MVC ํจํด์์ "๋ชจ๋ธ"์ ์ผ๋ถ๋ก ๋ณผ ์ ์์
๋ทฐ(View) ํ์ด์ง:
-HTML, CSS, JavaScript ๋ฑ ํ๋ก ํธ์๋ ๊ธฐ์ ๋ก ์ด๋ฃจ์ด์ง ํ๋ฉด์ ๋ด๋น
-์ต์ํ์ ํ๋ ์ ํ ์ด์ ๋ก์ง๋ง ํฌํจ๋์ด์ผ ํ๋ฉฐ, ๋น์ฆ๋์ค ๋ก์ง์ด๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ์๋ฐ ์ฝ๋๋ ์ต๋ํ ๋ฐฐ์
(๋น์ฆ๋์ค ๋ก์ง์ ์ปจํธ๋กค๋ฌ(Controller)์ ๋ชจ๋ธ(Model)์์ ์ฒ๋ฆฌ)
-์๋ฒ์ธก์์ ์ ๋ฌ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๊ฑฐ๋ ๋์ ์ผ๋ก ํ๋ฉด์ ์์ฑํ๋๋ฐ ํ์ํ ํ ํ๋ฆฟ ์ธ์ด๋ ํ๋ก ํธ์๋ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์์
-JSTL (JSP Standard Tag Library), Thymeleaf, React, Vue.js ๋ฑ์ ์ฌ์ฉํ์ฌ ๋ทฐ ํ์ด์ง๋ฅผ ๊ตฌ์ฑํ ์ ์์
'๐์ง๋ฌธ๋ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
jdbc์ myBatis (1) | 2023.08.14 |
---|---|
๋น์ฆ๋์ค ๋ก์ง (0) | 2023.08.13 |
๋ชจ๋ธ1๊ณผ ๋ชจ๋ธ2 (0) | 2023.08.13 |
ํด๋ผ์ด์ธํธ์ธก ์๋ฒ์ธก ์ ํจ์ฑ ๊ฒ์ฆ (0) | 2023.04.25 |
alert, ์์ฒญ(Request) - ์๋ต(Response) - ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์์ (0) | 2023.04.17 |