MVC, MVP, MVVM ํจํด
1. MVC ํจํด
2. MVP ํจํด
3. MVVM ํจํด
1. MVC ํจํด
MVC(Model-View-Controller)๋ Model, View, Controller๋ก ๊ตฌ๋ถํ์ฌ ์ค๊ณํ๋ ํจํด์ ๋๋ค.
- ๊ตฌ์ฑ ์์์ ์ญํ
1. Controller
์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๊ณ ์ฒ๋ฆฌํ๋ ๋ก์ง์ ๋ด๋นํฉ๋๋ค.
์์ฒญ์ ์ ์ ํ Service ๋๋ Model๋ก ์ ๋ฌํฉ๋๋ค.
Model๊ณผ View ์ฌ์ด์ ์ค๊ฐ์ ์ญํ ์ ํฉ๋๋ค.
ex) API ๋ผ์ฐํ , ์๋น์ค ํธ์ถ ๋ฑ
2. Model
์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ดํฐ์ ๋น์ฆ๋์ค ๋ก์ง์ ๋ด๋นํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ์์ฉํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ์ฌ Controller ๋๋ View์ ์ ๋ฌํฉ๋๋ค.
ex) ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ, ORM(Entity) ๋ฑ
3. View
์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๋ UI๋ฅผ ๋ด๋นํฉ๋๋ค.
Model๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ํ๋ฉด์ ํ์ํฉ๋๋ค.
์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ์ ๋ฐ์ Controller์ ์ ๋ฌํฉ๋๋ค.
ex) html, css, ํ๋ก ํธ์๋ ํ ํ๋ฆฟ
2. MVP ํจํด
MVP(Model-View-Presenter)๋ Model, View, Presenter๋ก ๊ตฌ๋ถํ์ฌ ์ค๊ณํ๋ ํจํด์ ๋๋ค.
MVCํจํด์ ๋ฐ์ ์ํจ ํํ๋ก, UI์ ๋ก์ง์ ์์กด์ฑ์ ๋ฎ์ถ๊ณ ํ ์คํธ ๊ฐ๋ฅ์ฑ์ ๋์ด๊ธฐ ์ํด ์ค๊ณ๋ ๋์์ธ ํจํด์ ๋๋ค.
์ฝ๋๋ฅผ ๊ธฐ๋ฅ ๋จ์๋ก ๋ชจ๋ํํ๊ธฐ ๋๋ฌธ์ ํ์ ์ ์ ๋ฆฌํฉ๋๋ค.
- ๊ตฌ์ฑ ์์์ ์ญํ
1. Presenter
Model๊ณผ View ์ฌ์ด์ ์ค๊ฐ์ ์ญํ ์ ํฉ๋๋ค.
2. Model
์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ดํฐ์ ๋น์ฆ๋์ค ๋ก์ง์ ๋ด๋นํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ์์ฉํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ์ฌ Presenter์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํฉ๋๋ค.
3. View
์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๋ UI๋ฅผ ๋ด๋นํฉ๋๋ค.
Model๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ํ๋ฉด์ ํ์ํฉ๋๋ค.
3. MVVM ํจํด
MVVM(Model-View-View Model)๋ Model, View, View Model๋ก ๊ตฌ๋ถํ์ฌ ์ค๊ณํ๋ ํจํด์ ๋๋ค.
- ๊ตฌ์ฑ ์์์ ์ญํ
1. View Model
Model๊ณผ View ์ฌ์ด์ ์ค๊ฐ์ ์ญํ ์ ํฉ๋๋ค.
2. Model
์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ดํฐ์ ๋น์ฆ๋์ค ๋ก์ง์ ๋ด๋นํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ์์ฉํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ์ฌ Presenter์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํฉ๋๋ค.
3. View
์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๊ณ ์ฒ๋ฆฌํ๋ ๋ก์ง์ ๋ด๋นํฉ๋๋ค.
์ฐธ๊ณ ์ฌ์ดํธ
[๋์์ธํจํด] MVC, MVP, MVVM ๋น๊ต
์น ๊ฐ๋ฐ์๋ก ์ผ์ ํ๋ฉด์ ๊ฐ์ฅ ๋จผ์ ์ ํ ๋์์ธํจํด์ด ๋ฐ๋ก MVC ํจํด์ด์์ต๋๋ค. ๊ทธ๋งํผ ์ ๋ช ํ๊ณ ๋ง์ด ์ฐ์ด๋ ๋์์ธํจํด์ธ MVC ํจํด๊ณผ MVC ํจํด์์ ํ์๋์ด์ ธ ๋์จ MVP ํจํด๊ณผ MVVM ํจํด์ ์ด์ผ
beomy.tistory.com
MVC, MVP, MVVM ํจํด์ ํน์ง
์์ฆ ์ฑ์ฉ ๊ณต๊ณ ๋ฅผ ๋ณด๋ฉด MVC, MVP, MVVM์ ๊ดํ ์ง์ ๋ณด์ ์๋ฅผ ์ฐ๋ํ๋ ๊ณต๊ณ ๋ฅผ ๋ง์ด ๋ณผ ์ ์์ต๋๋ค. ์ ๋ํ ๋ฉด์ ์์๋ ์ด๋ฐ MVVM์ด ๋ญ์ง? MVP์์ ์ฐจ์ด์ ์ ๋ํด์ ๋ง์ ์ง๋ฌธ์ ๋ฐ๊ณค ํ์ต๋๋ค. ์ฌ์ค
velog.io
ํ ๋ฒ์ ๊ธ๋ก ์ดํดํ๋ ์ํํธ์จ์ด ์ํคํ ์ฒ ํจํด ( MVC, MVP, MVVM )
์๋๋ก์ด๋ ๊ฐ๋ฐ์๊ฐ ๋๊ธฐ ์ํด ์ฑ์ฉ ๊ณต๊ณ ๋ฅผ ๋ณด๋ฉด ์์ฃผ ๋ณด์ด๋ ๊ฒ ํ๋ ์์ต๋๋ค. mvvm ํจํด ๊ธฐ๋ฐ์ ์ฑ?? mvvm ํจํด?? ์ฌ๊ธฐ์ ๋งํ๋ mvvm ํจํด์ ๋ฌด์์ผ๊น์?? ๊ตฌ๊ธ์ ๊ฒ์ํด ๋ณด๊ฒ ์ต๋๋ค. ๊ตฌ๊ธ์ ๊ฒ
dev-musa.tistory.com
๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์ !
ํผ๋๋ฐฑ์ ์ธ์ ๋ ํ์์ ๋๋ค <3
'๐ CS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DataStructure] ์คํ, ํ, ์ฐ๊ฒฐ ๋ฆฌ์คํธ (0) | 2025.01.23 |
---|---|
[Web] ํด๋ผ์ด์ธํธ์ ์๋ฒ, ํ๋กํ ์ฝ, TCP/IP ํต์ , ์์ผ & ์น ์์ผ & HTTP, OSI 7๊ณ์ธต (0) | 2025.01.20 |
[Desigin Pattern] CQRS ํจํด (0) | 2025.01.17 |
[OOP] ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋? (0) | 2025.01.15 |
[NoSQL] Redis (0) | 2025.01.13 |