Suhee Coding Archive
[๋์์ธ ํจํด] MVVM ํจํด ๋ณธ๋ฌธ
๐ MVVM ํจํด
MVC์ C์ ํด๋นํ๋ ์ปจํธ๋กค๋ฌ๊ฐ ๋ทฐ๋ชจ๋ธ๋ก ๋ฐ๋ ํจํด์ด๋ค.
๋ทฐ๋ชจ๋ธ์ ๋ทฐ๋ฅผ ๋ ์ถ์ํํ ๊ณ์ธต์ด๋ฉฐ ์ปค๋งจ๋์ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ์ ๊ฐ์ง๋ ๊ฒ์ด ํน์ง์ด๋ค.

๐ Model
์ดํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ์ ๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์ด๋ค.
๐ View
์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๋ ํ๋ฉด(UI) ๋ถ๋ถ์ด๋ค
๐ View Model
View๋ฅผ ํํํ๊ธฐ ์ํด ๋ง๋ View๋ฅผ ์ํ Model์ด๋ค. View๋ฅผ ๋ํ๋ด๊ธฐ ์ํ Model์ด์ View๋ฅผ ๋ํ๋ด๊ธฐ ์ํ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์ด๋ค.
๐ ๋์
MVVM ํจํด์ ๋์ ์์๋ ์๋์ ๊ฐ๋ค.
1. ์ฌ์ฉ์์ Action๋ค์ View๋ฅผ ํตํด ๋ค์ด์จ๋ค.
2. View์ Action์ด ๋ค์ด์ค๋ฉด, Command ํจํด์ผ๋ก View Model์ Action์ ์ ๋ฌํ๋ค.
3. View Model์ Model์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ค.
4. Model์ View Model์๊ฒ ์์ฒญ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์๋ตํ๋ค.
6. View๋ View Model๊ณผ Data Bindingํ์ฌ ํ๋ฉด์ ๋ํ๋ธ๋ค.
๐ ํน์ง
MVVM ํจํด์ Command ํจํด๊ณผ Data Binding ๋ ๊ฐ์ง ํจํด์ ์ฌ์ฉํ์ฌ View์ View Model ์ฌ์ด์ ์์กด์ฑ์ ์์ด๋ค. View Model๊ณผ View๋ 1:n ๊ด๊ณ์ด๋ค.
๐ ์ฅ์
MVVM ํจํด์ View์ Model ์ฌ์ด์ ์์กด์ฑ์ด ์๋ค. ๋ํ Command ํจํด๊ณผ Data Binding์ ์ฌ์ฉํ์ฌ View์ View Model ์ฌ์ด์ ์์กด์ฑ ๋ํ ์์ค ๋์์ธํจํด์ด๋ค. ๊ฐ๊ฐ์ ๋ถ๋ถ์ ๋ ๋ฆฝ์ ์ด๊ธฐ ๋๋ฌธ์ ๋ชจ๋ํํ์ฌ ๊ฐ๋ฐํ ์ ์๋ค.
๐ ๋จ์
View Model์ ์ค๊ณ๊ฐ ์ฝ์ง ์๋ค.
'CS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [๋คํธ์ํฌ] IPv6 (0) | 2022.12.28 |
|---|---|
| [๋คํธ์ํฌ] TCP์ 3 way handshake์ 4 way handshake (1) | 2022.12.20 |
| [๋์์ธ ํจํด] MVP ํจํด (0) | 2022.12.14 |
| [๋์์ธ ํจํด] MVC ํจํด (0) | 2022.12.14 |
| [๋์์ธ ํจํด] ๋์์ธ ํจํด๊ณผ ์ํคํ ์ฒ ํจํด์ ์ฐจ์ด (0) | 2022.12.14 |