MVC - amorfati0310/javascript-vm GitHub Wiki
mvc mvp mvvm ๋ฐ์ดํฐ ํ๋ฆ ๋ฐ ์ปจํธ๋กค๋ฌ์ ์ญํ ์ ๋ฐ๋ผ์ ์ด๋ ๊ฒ 3๊ฐ์ง๋ก๋ ๋ถ๋ฆฌ๋๋ค.
๋ค ๊ณตํต์ ์ธ ์ด๋ฐ ๊ฐ๋ฐ ํจํด์ด ๋์จ ์ด์ ๋ ๋ฐ์ดํฐ ๋ทฐ ๋ก์ง์ ๋ถ๋ฆฌํจ์ผ๋ก์ ์ฌ์ฌ์ฉ์ฑ์ ๋๋ฆฌ์์ด๋ค!
-
mvc๋ ์ปจํธ๋กค๋ฌ๋ก ๋ถํฐ ์ ๋ ฅ์ด ๋ค์ด์ค๊ณ ์ปจํธ๋กค๋ฌ๋ฅผ ํตํด์ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธ ์ํค๊ณ ๋ชจ๋ธ์์ ๋ทฐ๋ก ๋ฐ๋ก update๋ฅผ ์ํจ๋ค ์ฅ์ ์ ๋ทฐ์ ๋ชจ๋ธ์ ๊ฐ์ญ์ ํผํด์ ์ข ๋ ์ ์ฐํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ์ ์์ง๋ง ๋ฐ๋ฉด์ ๋ชจ๋ธ๊ณผ ๋ทฐ์ ์์ ํ ๋ถ๋ฆฌ๊ฐ ์ด๋ ค์ด ๋จ์ ์ด ์๋ค.
-
๊ธฐ์กด mvcํจํด์์ ๋ชจ๋ธ ๋ทฐ์ ์์กด์ฑ์ ๋ถ๋ฆฌ์ํค๊ณ ์ ๋ทฐ์์ ์ ๋ ฅ์ ๋ฐ๊ณ ๋๋จธ์ง ๋น๋๊ธฐ ์ญํ ์ ๋ชจ๋ v<->c <->m ์ด๋ฐ ๊ด๊ณ ์ปจํธ๋กค๋ฌ์์ ๋ชจ๋ ์ค๊ฐ ๋ค๋ฆฌ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋ mvp๋ผ๋ ๋ชจ๋ธ์ด ๋์๋ค.
mvp์ ๋จ์ ์ ๋ทฐ๋ presenter๊ฐ 1:1๋ก ๊ฐํ ์์กด์ฑ์ ๊ฐ์ง๋ค๊ณ ํ๋ค.
- ์ด๋ฅผ ํด๊ฒฐํ๊ณ ์ mvvmํจํด์ด ๋์๋ค๊ณ ํ๋ค.
v->vm <-> model ์ด๋ฐ ํจํด์ธ๋ฐ ํ์ฌ ํ๋ก ํธ์๋ ํ๋ ์์ํฌ๊ฐ ์ฃผ๋ก ์ฐ๋ ํจํด ์ฌ๊ธฐ์ ๋๊ฐ์ง ํจํด์ด ์ฌ์ฉ๋๋๋ฐ command Pattern๊ณผ data binding ์ด๋ ๊ฒ ํ๋ฉด mvp์์ ์ปจํธ๋กค๋ฌ-view์ ์์กด์ฑ์ ๋ถ๋ฆฌ์ํฌ ์ ์๋ค๊ณ ... ์ ๋ชจ๋ฅด๊ฒ ์ ๊ณต๋ถํ:3
์ง๋ฌธ?.?
- ๊ธฐ์กด mvcํจํด์์ c๋ก ์ ๋ ฅ์ด ๋ค์ด์ค๋๋ฐ ์น ํ์ด์ง์์๋ ๋ค ๋ทฐ๋ก ๋ถํฐ ์ ๋ ฅ์ด ๋ค์ด ์ค๋ ๊ฒ ์๋๊ฐ.. ์ ๋ ฅ์ ์ปจํธ๋กค๋ฌ์์ ๋ฐ์ ์ ์๋ ๋ฐฉ๋ฒ?
- mvvm๊ณผ mvp vm์ผ๋ก์ ์ฒ๋ฆฌ๊ฐ ์ด๋ป๊ฒ ๋ค๋ฅธ์ง ์ ์๋ฟ์ง๊ฐ ์๋๋ค.
- ์ปค๋งจ๋ ํจํด๊ณผ data binding ๋ฌด์จ ํจํด์ธ์ง..์ ๋ชจ๋ฅด๊ฒ ๋ค.