1. MVC(Model-View-Controller)
Model: ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๊ณ ์ฒ๋ฆฌํ๋ ์ญํ
View: ์ฌ์ฉ์์๊ฒ ๋ณด์ด๋ ๊ฒ
Controller: ์ฌ์ฉ์๋ก๋ถํฐ ์๋ต์ ๋ฐ์ Model ๋๋ View๋ฅผ ์ ๋ฐ์ดํธ ํ๊ฑฐ๋, ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํด์ฃผ๋ ์ญํ

[๋์ ์์]
1. action(์ฌ์ฉ์๊ฐ ์ ์ถํ form๋ฐ์ดํฐ)์ด Controller์๊ฒ ์ ๋ฌ๋๋ค.
2. Controller๋ Model์๊ฒ ์ ๋ฌํ๊ณ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ฑฐ๋ Controller๊ฐ View์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ์ฒ๋ฆฌํด์ View์๊ฒ ์๋ฆผ
3. Model์ ๋ก์ง์ ์ฒ๋ฆฌํ์ฌ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ด๋ VIew์๊ฒ ์๋ฆผ
4. View๋ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ํตํด ํ๋ฉด์ ์ ๋ฐ์ดํธ
[์ฅ์ ]
๋ค๋ฅธ ํจํด๋ค์ ๋นํด ์ง๊ด์ ์ธ ๊ตฌ์กฐ๋ก ์๋์ ์ผ๋ก ์ดํดํ๊ธฐ ์ฌ์
[๋จ์ ]
View์ Model์ฌ์ด์ ์ ๋ฐ์ดํธ ๊ด๊ณ๊ฐ ์กด์ฌํ์ฌ ์์กด์ฑ์ด ๋์์ ํ๋ก์ ํธ ๊ท๋ชจ๊ฐ ์ปค์ง๋ฉด ๋ณต์กํด์ง
2. MVVM(Model-View-View Model)
: SPA(Single Page Application)์ ํด๋ผ์ด์ธํธ ์ธก ๊ธฐ๋ฅ์ด ์ค์ํด์ง๋ฉด์ ์์ฃผ ์ฐ์ด๋ ํจํด
Model: ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๊ณ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ
View: ์ฌ์ฉ์์๊ฒ ๋ณด์ด๋ ๊ฒ
View Model: View๋ก๋ถํฐ ์์ฒญ์ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ์ฌ Model์ ๊ฐฑ์ ํ๊ณ , ๊ฐฑ์ ๋ ๋ชจ๋ธ์ ๋ฐ๋ผ ์์ ์ด ์์ ํ ๋ฐ์ดํฐ๋ ์ ๋ฐ์ดํธ

[๋์ ์์]
1. action์ด View์๊ฒ ์ ๋ฌ๋จ
2. View๋ ViewModel์๊ฒ ํด๋น ๋ฐ์ดํฐ๋ฅผ ํน์ ์์ฒญ๊ณผ ์ ๋ฌ
3. ViewModel์ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ก์ง์ ๋ฐ๋ผ ์ฒ๋ฆฌํ์ฌ Model์ ์ ๋ฐ์ดํธ
4. ๊ฐฑ์ ๋ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ ํ๊ณ ์๋ ViewModel์ด ์ ๋ฐ์ดํธ๋๊ณ ํด๋น ViewModel์ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ ํ๋ View๊ฐ ์ ๋ฐ์ดํธ๋จ
[์ฅ์ ]
ViewModel์ด ๋ฐ๋ก ์ ์ฅํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ ํ์ฌ ์๋ ์ ๋ฐ์ดํธํ๋ ๊ตฌ์กฐ๋ก View๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ๋ณํจ์ผ๋ก์จ, Model๊ณผ ViewModel์ ์์กด์ฑ ๋ฌธ์ ํด๊ฒฐ
[๋จ์ ]
๋ค๋ฅธ ํจํด์ ๋นํด ์๋์ ์ผ๋ก ์ดํดํ๊ธฐ ์ด๋ ต๊ณ ์ฒ์ ์ค๊ณ๊ฐ ๋ณต์ก
3. MVP(Model-View-Presenter)
Model: ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๊ณ ์ฒ๋ฆฌํ๋ ์ญํ
View: ์ฌ์ฉ์์๊ฒ ๋ณด์ด๋ ๊ฒ
Presenter: Model๊ณผ View์ ์ค๊ณ์ ์ญํ ๋ก, ์๋ก์ ์์ฒญ๊ณผ ์๋ต์ ์ ๋ฌํด์ค

[๋์ ์์]
1. action์ด View์๊ฒ ์ ๋ฌ๋จ
2. View๊ฐ Presenter์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ฉฐ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ฒญ
3. Presenter๋ Model์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ฉฐ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ฒญ
4. Model์ Presenter์ ์์ฒญ์ ํ ๋๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ์ฌ ์ ๋ฐ์ดํฐ๋ฅผ Presenter์๊ฒ ์ ๋ฌ
5. Presenter๋ ๋ฐ์ ๋ฐ์ดํฐ๋ก View์๊ฒ ์๋ฆผ
6. View๋ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ํตํด ํ๋ฉด์ ์ ๋ฐ์ดํธ
[์ฅ์ ]
View์ Model์ฌ์ด์ ์ฐ๊ฒฐ์ ์ด ์์ด ์์กด์ฑ ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ง
[๋จ์ ]
Presenter์ญํ ์ด ์ค์ํด์ง๋ฉด์ View์ Presenter์ฌ์ด์ ์์กด์ฑ ๋ฌธ์ ๋ฐ์
[์ฐธ๊ณ ์ฌ์ดํธ]
https://gusrb3164.github.io/web/2021/03/09/mvc-mvp-mvvm-structure/
MVC, MVP, MVVM ํจํด ๊ฐ๋ ๊ณผ ํน์ง ์ดํดํ๊ธฐ
MVC, MVP ๊ทธ๋ฆฌ๊ณ ํ๋ก ํธ์๋ ๊ตฌ์กฐ์ ์์ฃผ ์ฐ์ด๋ MVVM ํจํด์ ์ดํดํ์
gusrb3164.github.io
'์น ์๋น์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| SSR? CSR? (0) | 2022.12.30 |
|---|---|
| SPA? MPA? (0) | 2022.12.30 |
| ์ ์ ์น? ๋์ ์น? (0) | 2022.12.30 |
| HTTP ํค๋2 - ์บ์์ ์กฐ๊ฑด๋ถ ์์ฒญ (0) | 2022.12.19 |
| HTTP ํค๋1 - ์ผ๋ฐ ํค๋ (0) | 2022.12.04 |