MVP(Model-View-Presenter)๋ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ํํธ์จ์ด ์ํคํ ์ฒ ํจํด์ ๋๋ค. ์ด๋ MVC(Model-View-Controller) ํจํด์ ์งํ๋ก, ๋ณด๋ค ์ ์ฐํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ๊ด์ฌ์ฌ ๋ถ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค. MVP ํจํด์ ์ฃผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ์คํธ ๊ฐ๋ฅ์ฑ์ ๊ฐํํ๊ณ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ ์ง ๊ด๋ฆฌ, ๊ฐ์ ๋ฐ ํ์ฅ์ ๋ ์ฝ๊ฒ ๋ง๋๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค. ๊ฐ๋ฐ ๊ณผ์ ์์ ํจ์จ์ฑ, ์ต์ ์ ์ฑ๋ฅ ๋ฐ ํฅ์๋ ์์ฐ์ฑ์ ๋ณด์ฅํ๋ฏ๋ก ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ฌ์ฉํ๊ธฐ์ ๋งค์ฐ ์ ํฉํฉ๋๋ค.
MVP ํจํด์์ ๋ชจ๋ธ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ดํฐ์ ๋น์ฆ๋์ค ๋ก์ง์ ๋ํ๋ ๋๋ค. ๋ฐ์ดํฐ ๊ฒ์, ์ ์ฅ ๋ฐ ์กฐ์์ ๋ฌผ๋ก ๋น์ฆ๋์ค ๊ท์น ๋ฐ ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ํํ๋ ์ญํ ์ ๋ด๋นํฉ๋๋ค. ๋ชจ๋ธ์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ๋ ๋ฆฝ์ ์ด๋ฉฐ ๋ทฐ ๋ฐ ํ๋ฆฌ์ ํฐ์ ํน์ ๊ตฌํ์ ๋ ๋ฆฝ์ ์ด์ด์ผ ํฉ๋๋ค.
MVP ํจํด์ ๋งฅ๋ฝ์์ ๋ทฐ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ณ ์ฌ์ฉ์ ์ ๋ ฅ์ ์บก์ฒํ๋ ์ญํ ์ ๋ด๋นํฉ๋๋ค. ์ํ๋ฅผ ์ ๋ฐ์ดํธํ๊ณ ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด Presenter์ ์์กดํ๋ ์๋ ๊ตฌ์ฑ ์์์ ๋๋ค. ๋ทฐ๋ ์ผ๋ฐ์ ์ผ๋ก UI(์ฌ์ฉ์ ์ธํฐํ์ด์ค) ๊ตฌ์ฑ ์์ ๋ฐ ๋ชจ๋ฐ์ผ ์ฑ์ ๋ ์ด์์๊ณผ ๊ฐ์ ์๊ฐ์ ์์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋ณด๊ธฐ์ ์ฃผ์ ๋ชฉํ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๊ฐ ๋ฐ์์ฑ์ด ๋ฐ์ด๋๊ณ ์๊ฐ์ ์ผ๋ก ๋งค๋ ฅ์ ์ด๋ฉฐ ํ์ํ๊ธฐ ์ฌ์ด์ง ํ์ธํ๋ ๊ฒ์ ๋๋ค.
Presenter๋ ๋ชจ๋ธ๊ณผ ๋ทฐ ์ฌ์ด์ ์ค์ฌ์ ์ญํ ์ ํ๋ฉฐ ๋ฐ์ดํฐ ํ๋ฆ์ ์กฐ์ ํ๊ณ ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์ฒ๋ฆฌํฉ๋๋ค. ๋ชจ๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ณ ์ฒ๋ฆฌํ๋ฉฐ ๊ทธ์ ๋ฐ๋ผ ๋ทฐ๋ฅผ ์ ๋ฐ์ดํธํ๋ ์ผ์ ๋ด๋นํฉ๋๋ค. Presenter๋ ๋ํ ๋ฒํผ ํด๋ฆญ์ด๋ ์ ๋ ฅ ๋ณ๊ฒฝ๊ณผ ๊ฐ์ ๋ทฐ์ ์ฌ์ฉ์ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ์ด๋ฌํ ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํน์ ์์ ์ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค. ๋ฐ์ดํฐ ๊ด๋ฆฌ(๋ชจ๋ธ)์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค(๋ทฐ)์ ๋ฌธ์ ๋ฅผ ๋ถ๋ฆฌํจ์ผ๋ก์จ Presenter๋ ๋ณด๋ค ๋ชจ๋ํ๋๊ณ ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์์ MVP๋ฅผ ์ฌ์ฉํ๋ ์ฃผ์ ์ด์ ์ค ํ๋๋ ํฅ์๋ ํ ์คํธ ๊ฐ๋ฅ์ฑ์ ๋๋ค. ๋ชจ๋ธ, ๋ทฐ ๋ฐ ํ๋ฆฌ์ ํฐ๋ฅผ ๋ถ๋ฆฌํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ ๊ตฌ์ฑ ์์์ ์ด์ ์ ๋ง์ถ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ์ฌ ๋ณด๋ค ์ฒ ์ ํ๊ณ ์์ ์ ์ธ ํ ์คํธ๋ฅผ ์ํํ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ฒ๊ทธ์ ๊ฒฐํจ์ด ์ ์ ๋์ฑ ์์ ์ ์ด๊ณ ์ ๋ขฐํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํ์ํ๊ฒ ๋ฉ๋๋ค.
MVP ํจํด์ ๋ค์ํ ํ๋ซํผ๊ณผ ํ๋ ์์ํฌ์ ๋๋ฆฌ ์ ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด, AppMasterno-code ํ๋ซํผ์ MVP ํจํด์ ํ์ฉํ์ฌ ๊ฐ๋ ฅํ๊ณ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅ์ฑ์ด ๋์ ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. AppMaster ์ฌ์ฉํ๋ฉด ๊ณ ๊ฐ์ MVP ํจํด์ ์์น์ ์ค์ํ๋ฉด์ ๋ฐ์ดํฐ ๋ชจ๋ธ, ๋น์ฆ๋์ค ๋ก์ง ๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์๊ฐ์ ์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ธฐ์ ์ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์ต์ํํ๋ฉด์ ํ์ฅ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ์ ๋ฐ์ ์ธ ์์ฐ์ฑ๊ณผ ๋น์ฉ ํจ์จ์ฑ์ด ํฅ์๋ฉ๋๋ค.
MVP ํจํด์ ์ฑํํ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฃผ๋ชฉํ ๋งํ ์๋ก๋ Todoist ๋ฐ Trello์ ๊ฐ์ ์ธ๊ธฐ ์๋ ์์ฐ์ฑ ์ฑ์ด ์์ต๋๋ค. ์ด๋ฌํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ํ๋ซํผ์์ ์์ ์ฑ๊ณผ ์ฑ๋ฅ์ ์ ์งํ๋ฉด์ ์๋ฐฑ๋ง ๋ช ์ ์ฌ์ฉ์๋ก ์ฑ๊ณต์ ์ผ๋ก ํ์ฅ๋์์ผ๋ฏ๋ก MVP ์ํคํ ์ฒ ํจํด ์ฌ์ฉ์ ์ด์ ์ ์ ์ฆํ์ต๋๋ค.
๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์ ๋งฅ๋ฝ์์ Model-View-Presenter ํจํด์ ๊ตฌํํ๋ฉด ์ฝ๋๋ฒ ์ด์ค๊ฐ ๋ ๋ชจ๋ํ๋๊ณ ์ ์ง ๊ด๋ฆฌ๊ฐ ์ฌ์์ง๋ฉฐ ํ ์คํธ ๊ฐ๋ฅ์ฑ์ด ํฅ์๋ฉ๋๋ค. ๊ฐ๋ฐ์๋ MVP ํจํด์ ํ์ฉํ์ฌ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์์ ์ ์ด๋ฉฐ ์ฌ์ฉ์ ์นํ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค์ด ํ๋ก์ ํธ์ ์ฅ๊ธฐ์ ์ธ ์ฑ๊ณต์ ๋ณด์ฅํ ์ ์์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, Model-View-Presenter ํจํด์ ์ต์ ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์์ ์ค์ํ ์ญํ ์ ํ๋ฉฐ ๋ฐ์ดํฐ ๊ด๋ฆฌ, ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง ๊ฐ์ ๊ด์ฌ์ฌ๋ฅผ ๋ช ํํ๊ฒ ๋ถ๋ฆฌํฉ๋๋ค. ์ด ์ํคํ ์ฒ ํจํด์ ์ฑํํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์ค๋๋ ๋ชจ๋ฐ์ผ ์ฑ ์์ฅ์ ๋์์์ด ๋ณํํ๋ ์๊ตฌ ์ฌํญ๊ณผ ์์๋ฅผ ์ถฉ์กฑํ๋ ์ ์ง ๊ด๋ฆฌ, ํ์ฅ ๋ฐ ํ ์คํธ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค. AppMaster ์ ๊ฐ์ ํ๋ซํผ์์ ๋ณผ ์ ์๋ฏ์ด MVP ํจํด์ ๋ค์ํ ๊ฐ๋ฐ ๋๊ตฌ ๋ฐ ๋ฐฉ๋ฒ๋ก ์ ์ํํ๊ฒ ํตํฉ๋ ์ ์์ด ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ ์ธ๊ณ์์ ๊ด๋ จ์ฑ๊ณผ ์ค์์ฑ์ด ๋์ฑ ํ๊ณ ํด์ง๋๋ค.