1. ์ฉ์ด ์ ๋ฆฌ
- ๋์์ธ ํจํด : ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๋ ๊ณผ์ ์์ ๋ฐ๊ฒฌํ ๋ฌธ์ ๋ค์ ํด๊ฒฐ ๋ฐฉ๋ฒ๋ค์ ์ถ์ ํ๊ณ ์ด๋ฆ์ ๋ถ์ฌ์ ์ดํ์ ์ฌ์ฌ์ฉํ๊ธฐ ์ข์ ํํ๋ก ํน์ ๊ท์ฝ์ ๋ง๋ค์ด ์ ๋ฆฌํ ๊ฒ
- MVC : Model, View, Controller์ ์ฝ์
- MVVM : Model, View, View Model์ ์ฝ์
- MVP : Model, View, Presenter์ ์ฝ์, MVC ํจํด์ Controller ๋์ Presenter๊ฐ ์กด์ฌ
2. MVC ํจํด ํน์ง
- Model, View, Controller๋ก ๊ตฌ์ฑ
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ก๋ถํฐ ๋น์ฆ๋์ค ๋ก์ง์ ๋ถ๋ฆฌํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๊ฐ์ ์์๋ ๊ทธ ์ด๋ฉด์์ ์คํ๋๋ ๋น์ฆ๋์ค ๋ก์ง์ ์๋ก ์ํฅ ์์ด ์ฝ๊ฒ ๊ณ ์น ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ฐ๋ฅ
- ์ค๋ณต ์ฝ๋ฉ์ ๋ฌธ์ ์ ์ ๊ฑฐ
- Model๊ณผ View๊ฐ ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ค์ ์ข ์๋์ง ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ฅ์ฑ, ์ ์ฐ์ฑ์ ์ ๋ฆฌ
2.1 ๋ชจ๋ธ (Model)
- ๋ชจ๋ธ์ ๋ฐ์ดํฐ ๊ฐ๊ณต์ ๋ด๋นํ๋ ์ปดํฌ๋ํธ์ด๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ณด์ ๋ฐ์ดํฐ๋ฅผ ํํํ๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์์, ๋ณ์ ๋ฑ์ ์๋ฏธํ๋ฉฐ, ๋น์ฆ๋์ค ๋ก์ง์ ์ฒ๋ฆฌํ ํ ๋ชจ๋ธ์ ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ์ปจํธ๋กค๋ฌ์ ๋ทฐ์ ์ ๋ฌํ๋ค.
- ๋ชจ๋ธ์ ํน์ง
- ์ฌ์ฉ์๊ฐ ํธ์ง์ ์ํ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํจ
- ๋ทฐ ๋๋ ์ปจํธ๋กค๋ฌ์ ๋ํด์ ์ด๋ ํ ์ ๋ณด๋ ์๊ณ ์์ผ๋ฉด ์๋จ
- ๋ณ๊ฒฝ์ด ๋ฐ์ํ๋ฉด, ๋ณ๊ฒฝ ํต์ง์ ๋ํ ์ฒ๋ฆฌ๋ฐฉ๋ฒ์ ๊ตฌํํด์ผ ํจ
2.2 ๋ทฐ (View)
- ๋ทฐ๋ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๋ ์ ์ ์ธํฐํ์ด์ค๋ฅผ ์๋ฏธํ๋ค.
- MVC ํจํด์์๋ ๋ค์์ ๋ทฐ๊ฐ ์กด์ฌํ ์ ์์ผ๋ฉฐ, ๋ชจ๋ธ์๊ฒ ์ง์ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ๋ฐ๊ณ , ์ ๋ฌ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๋ ์ญํ ์ ๋ด๋นํ๋ค.
- ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ๊ฒ ๋๋ฉด ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ๋ฐ์ํ๋๋ก ๋ชจ๋ธ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค.
- ๋ทฐ์ ํน์ง
- ๋ชจ๋ธ์ด ๊ฐ์ง๊ณ ์๋ ์ ๋ณด๋ฅผ ๋ฐ๋ก ์ ์ฅํ์ง ์์
- ๋ชจ๋ธ์ด๋ ์ปจํธ๋กค๋ฌ์ ๊ฐ์ด ๋ค๋ฅธ ๊ตฌ์ฑ์์๋ค์ ์๊ณ ์์ผ๋ฉด ์๋จ
- ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ ๋ํ ์ด๋ฒคํธ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ๊ตฌํํด์ผ ํจ
2.3 ์ปจํธ๋กค๋ฌ (Controller)
- ์ปจํธ๋กค๋ฌ๋ ๋ชจ๋ธ๊ณผ ๋ทฐ ์ฌ์ด๋ฅผ ์ด์ด์ฃผ๋ ๋ธ๋ฆฟ์ง ์ญํ ์ ๋ด๋นํ๋ค.
- ๋ชจ๋ธ ๋๋ ๋ทฐ์์ ๋ฐ์ํ ๋ณ๊ฒฝ ์ด๋ฒคํธ๋ฅผ ๊ฐ ๊ตฌ์ฑ์์์ ์ ๋ฌํ๋ฉฐ, ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ์ฌ ๋ฐ์ํ๋ ์ด๋ฒคํธ๋ค์ ์ฒ๋ฆฌํ๋ค.
- ์ปจํธ๋กค๋ฌ์ ํน์ง
- ๋ทฐ์์ ๋ฐ์ํ ์ด๋ฒคํธ๋ฅผ ์ ๋ฌ ๋ฐ์
- ๋ชจ๋ธ์ด๋ ๋ทฐ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ ์ ์์
- ๋ชจ๋ธ์ด๋ ๋ทฐ์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ ๋ํ ์ด๋ฒคํธ๋ฅผ ์๊ณ ์์ด์ผ ํจ
3. MVC ํจํด ํ๋ฆ
- MVC ํจํด์ ํ๋ฆ์ ์๋ ์ด๋ฏธ์ง์ ๊ฐ๋ค.
[Design Pattern] ๋์์ธ ํจํด ์ ์์ ์ข ๋ฅ์ ๋ํ์ฌ
์ํํธ์จ์ด ๋์์ธ ํจํด์ด๋? ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉ๋๋ ๋์์ธํจํด(Desigin Pattern)์ ๊ณผ๊ฑฐ์ ์ํํธ์จ์ด ๊ฐ๋ฐ ๊ณผ์ ์์ ๋ฐ๊ฒฌ๋ ์ค๊ณ์ ๋ ธํ์ฐ๋ฅผ ์ถ์ ํ์ฌ ๊ทธ ๋ฐฉ๋ฒ์ ์ด๋ฆ์ ๋ถ์ฌ์ ์ด
coding-factory.tistory.com
MVC - MDN Web Docs ์ฉ์ด ์ฌ์ : ์น ์ฉ์ด ์ ์ | MDN
MVC (๋ชจ๋ธ-๋ทฐ-์ปจํธ๋กค๋ฌ) ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค, ๋ฐ์ดํฐ ๋ฐ ๋ ผ๋ฆฌ ์ ์ด๋ฅผ ๊ตฌํํ๋๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ํํธ์จ์ด ๋์์ธ ํจํด์ ๋๋ค. ์ํํธ์จ์ด์ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ํ๋ฉด์ ๊ตฌ๋ถํ๋๋ฐ ์ค์ ์ ๋๊ณ
developer.mozilla.org
[๊ฐ๋ฐ์ ๋ฉด์ ์ค๋น]#1. MVCํจํด์ด๋
์ค๋์ ๊ฐ๋ฐ์๋ฉด์ ์ ๋ง์ด ๋์ค๊ธฐ๋ ํ๋ MVCํจํด์ ๋ํด์ ์์๋ณด๊ณ ์ ํฉ๋๋ค. ๊ณผ์ฐ MVCํจํด์ด ๋ฌด์...
blog.naver.com
[๊ฐ๋ฐ์์] MVC ํจํด์ด๋? (Model-View-Controller)
๐ ์ด๋ฒ ํฌ์คํ ์ ๊ฐ๋ฐ์ ๋ฉด์ ์์ ์์ฃผ ๋์ค๋ ์ง๋ฌธ ์ค์ ํ๋์ธ "MVCํจํด"์ ๋ํ ๋ด์ฉ์ ๋๋ค. MVCํจํด์ ์๋ฏธ์ ์ฌ์ฉํด์ผ ํ๋ ์ด์ , ์ฌ์ฉ ์์ ๋ฑ๋ฑ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๐ก MVC ํจํด์ด๋?
cocoon1787.tistory.com
[๋์์ธํจํด] MVC, MVP, MVVM ๋น๊ต
์น ๊ฐ๋ฐ์๋ก ์ผ์ ํ๋ฉด์ ๊ฐ์ฅ ๋จผ์ ์ ํ ๋์์ธํจํด์ด ๋ฐ๋ก MVC ํจํด์ด์์ต๋๋ค. ๊ทธ๋งํผ ์ ๋ช ํ๊ณ ๋ง์ด ์ฐ์ด๋ ๋์์ธํจํด์ธ MVC ํจํด๊ณผ MVC ํจํด์์ ํ์๋์ด์ ธ ๋์จ MVP ํจํด๊ณผ MVVM ํจํด์ ์ด์ผ
beomy.tistory.com
'๊ฐ๋ฐ๐ป > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] Spring Framework (0) | 2023.10.02 |
---|---|
[Java] jdk ์ค์น ๋ฐ ํ๊ฒฝ๋ณ์ ์ค์ (0) | 2017.04.15 |