mvvm
Last updated
Last updated
MVVM
๋ฆฌ์กํธ์์์ Container, Presenterํจํด์ผ๋ก ์ค๋ช ๋ ์ ์๋ MVVM์ ์๋์ ๊ฐ๋ค.
View : ํ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ปดํฌ๋ํธ๋ก, Presenter๋ผ๊ณ ๋ถ๋ฆฌ๊ธฐ๋ ํ๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ๋ ๋ก์ง์ด ์กด์ฌํ๋ฉด ์ ๋๋ค. ViewController : View์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ์ปดํฌ๋ํธ๋ก, Container๋ผ๊ณ ๋ถ๋ฆฌ๊ธฐ๋ ํ๋ฉฐ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๋ ํจ์, setState๋ฅผ ์ฒ๋ฆฌํ๋ ํจ์๊ฐ์ ๋ฐ์ดํฐ ๊ฐ๊ณต ๋ก์ง์ด ์กด์ฌํ๋ค. ViewModel : Model์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํด ์ฝ๊ฒ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ๋ง๋ ์ปดํฌ๋ํธ์ด๋ค. Model์์ ๋ฐ์์จ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ๋ ๋ก์ง์ด ํฌํจ๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ๋ทฐ ๋ชจ๋ธ์ ์คํ๋ง์ ๋น์ ํ์ ๋ dto์ ๊ฐ๊น๋ค๊ณ ์๊ฐํ๋ค. Model : ๋ฐ์ดํฐ ์์ค ์ญํ ์ ํ๋ค. ๊ฐ์ธ์ ์ผ๋ก ๋ชจ๋ธ์ ์คํ๋ง์ ๋น์ ํ์ ๋ Entity์ ๊ฐ๊น๋ค๊ณ ์๊ฐํ๋ค. Provider : Container๋ค์ ์กฐํฉํ๋ ์ญํ ์ ํ๋ค. Container๊ฐ ์ฐ๊ฒฐ๋ง์ด ๋ชฉ์ ์ด๋ฏ๋ก ๋ก์ง์ด ์์ด์ผ ํ๋ค.
์ฌ๊ธฐ์์ ViewController, ViewModel, Model์ ๋ก์ง์ ํฌํจํ๋ฏ๋ก ๊ฐ ์ญํ ๊ตฐ ๊ฐ์ ์ฑ ์์ ๋ช ํํ๊ฒ ํด์ผ ํ๋ค.