MDP(๋ชจ๋ธ ๊ธฐ๋ฐ ํ๋ก๊ทธ๋๋ฐ)๋ ๊ธฐ๋ณธ ์ ํ๋ฆฌ์ผ์ด์ ๋ ผ๋ฆฌ, ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ฐ ์์คํ ๋์์ ๋ํ ๋ ๋์ ์์ค์ ์ถ์ํ๋ฅผ ์์ฑํ๊ณ ๊ฒ์ฆ๋ ๋ชจ๋ธ์์ ์์ค ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ๊ฐ์กฐํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ํจ๋ฌ๋ค์์ ๋๋ค. MDP์ ์ฃผ์ ๋ชฉํ๋ ๋ณด๋ค ์ถ์์ ์ด๊ณ ์ฌ๋์ด ์ฝ์ ์ ์๋ ์์คํ ํํ์ ์ค์ ์ ๋์ด ์ํํธ์จ์ด์ ๋ณด๋ค ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ๊ฐ๋ฐ, ์ ์ง ๊ด๋ฆฌ ๋ฐ ์ฌ์ฌ์ฉ์ฑ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ฒ์ ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๊ฐ๋ฐ์๊ฐ ๋น์ฆ๋์ค ๋๋ฉ์ธ์ ์ง์คํ์ฌ ํ์ ์์ค ํ๋ก๊ทธ๋๋ฐ ์ธ๋ถ ์ฌํญ์ ์ฝ๋งค์ด์ง ์๊ณ ์ค์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ DDD(๋๋ฉ์ธ ์ค์ฌ ์ค๊ณ) ์์น๊ณผ ์ผ์นํฉ๋๋ค.
MDP์์ ๊ฐ๋ฐ์๋ ์์คํ ์ ํต์ฌ ๊ฐ๋ , ๊ด๊ณ ๋ฐ ๋์ ํจํด์ ํฌ์ฐฉํ์ฌ ์ถ์์ ํํ์ด๋ ์์คํ ๋ชจ๋ธ์ ๋ง๋ญ๋๋ค. ์ด๋ฌํ ๋ชจ๋ธ์ ์ผ๋ฐ์ ์ผ๋ก ๋๋ฉ์ธ๋ณ ๋ชจ๋ธ(DSM), ํตํฉ ๋ชจ๋ธ๋ง ์ธ์ด(UML) ๋๋ ๊ธฐํ ๊ทธ๋ํฝ ๋๋ ํ ์คํธ ํํ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ํน์ ๋ชจ๋ธ๋ง ์ธ์ด ๋๋ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ์ ์๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ชจ๋ธ์ ์๋, ๋ฐ์๋ ๋๋ ์์ ์๋์ผ ์ ์๋ ์ฝ๋ ์์ฑ ํ๋ก์ธ์ค๋ฅผ ํตํด ์คํ ๊ฐ๋ฅํ ์์ค ์ฝ๋๋ก ๋ณํ๋ฉ๋๋ค.
MDP์ ์ฌ์ฉ์ ํญ๊ณต์ฐ์ฃผ, ์๋์ฐจ, ๊ธ์ต, ์๋ฃ, ํต์ ๋ฑ ๋ค์ํ ์ฐ์ ์์ ๋๋ ท์ด ๋ํ๋๊ณ ์์ต๋๋ค. ์ด๋ ์ํํธ์จ์ด ์์คํ ์ ์ฆ๊ฐํ๋ ๋ณต์ก์ฑ๊ณผ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ์ด ์ด๋ฐํ ์๊ฐ๊ณผ ์์ฐ ๋ด์์ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ๊ณ ํ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ณตํด์ผ ํ๋ ์ฆ๊ฐํ๋ ์๋ ฅ์ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด MDP๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP) ๋ฐ ์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ๊ณผ ๊ฐ์ ๊ธฐ์กด ํ๋ก๊ทธ๋๋ฐ ์ ๊ทผ ๋ฐฉ์์ ๋นํด ์์ฐ์ฑ์ ์ต๋ 10๋ฐฐ๊น์ง ๋์ด๊ณ ๊ฐ๋ฐ ๋น์ฉ์ ์ต๋ 3๋ฐฐ๊น์ง ์ค์ผ ์ ์๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
์ค์ ๋ก MDP์ ์ฃผ๋ชฉํ ๋งํ ์ ์ค ํ๋๋ AppMasterno-code ํ๋ซํผ ์ ๋๋ค. ์ด๋ฅผ ํตํด ๊ณ ๊ฐ์ ์๊ฐ์ BP Designer, REST API ๋ฐ WSS ์๋ํฌ์ธํธ๋ฅผ ํตํด ๋ฐ์ดํฐ ๋ชจ๋ธ(๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง), ๋น์ฆ๋์ค ๋ก์ง(๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ก ์ ์๋จ)์ ์๊ฐ์ ์ผ๋ก ์์ฑํ์ฌ ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ drag-and-drop ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ UI๋ฅผ ์์ฑํ๊ณ , ๊ฐ ๊ตฌ์ฑ ์์์ ๋ํ ๋น์ฆ๋์ค ๋ก์ง์ ์ ์ํ๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ํ ๋ํํ์ผ๋ก ๋ง๋ค ์ ์์ต๋๋ค. AppMaster ๋ฐฑ์๋์ฉ Go(golang), ์น ์ ํ๋ฆฌ์ผ์ด์ ์ฉ Vue3 ํ๋ ์์ํฌ ๋ฐ JS/TS, Android์ฉ Kotlin ๋ฐ Jetpack Compose iOS์ฉ SwiftUI ํฌํจํ ์ฌ๋ฌ ์ต์ ๊ธฐ์ ์ ์ง์ํฉ๋๋ค.
AppMaster MDP ์์น์ ํต์ฌ์ ํตํฉํ์ฌ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ํ๋ช ์ ์ผ์ผ์ผฐ์ต๋๋ค. ์ด๋ฅผ ํตํด ํ๋ก๊ทธ๋๋จธ๊ฐ ์๋ ์ฌ๋๊ณผ ์ ๋ฌธ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋ชจ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋น ๋ฅด๊ณ ํจ์จ์ ์ด๋ฉฐ ์ ๋ ดํ๊ฒ ์์ฑ, ์ ์ง ๊ด๋ฆฌ ๋ฐ ์์ ํ ์ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒ์๋ถํฐ ์์ฑํจ์ผ๋ก์จ ๊ธฐ์ ์ ์ธ ๋ถ์ฑ๋ฅผ ์ ๊ฑฐํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ๋ ๊ฑฐ์ ์ฝ๋ ๋ฌธ์ ์ ๋ํ ๊ฑฑ์ ์์ด ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ์ ํ๊ณ ๋ฐ์ ์ํค๋ ๋ฐ ์ง์คํ ์ ์์ต๋๋ค.
MDP์ ํ์ ์ธก๋ฉด์ ๋ชจ๋ธ ๋ณํ ๋ฐ ์ฝ๋ ์์ฑ ๋๊ตฌ์ ์์กดํ๋ ์ฝ๋ ์์ฑ ํ๋ก์ธ์ค์ ๋๋ค. ์คํ ์์ค, ์์ฉ ๋ฐ ๋ ์ ์๋ฃจ์ ์ ํฌํจํ์ฌ ์ฌ๋ฌ ๊ฐ์ง ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ท์น ๊ธฐ๋ฐ ๋ณํ, ํ ํ๋ฆฟ ๊ธฐ๋ฐ ์ฝ๋ ์์ฑ ๋ฐ ์ฌ์ฉ์ ์ ์ ์ ๊ทผ ๋ฐฉ์๊ณผ ๊ฐ์ ๋ค์ํ ๋ณํ ๊ธฐ์ ์ ์ ์ฉํ ์ ์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ๋๊ตฌ์ ์ ํ์ ํ๋ก์ ํธ์ ํน์ ์๊ตฌ ์ฌํญ, ๋ณต์ก์ฑ ๋ฐ ๊ท๋ชจ๋ฟ๋ง ์๋๋ผ ํน์ ๋ชจ๋ธ๋ง ์ธ์ด ๋ฐ ๋๊ตฌ ์ธํธ์ ๋ํ ๊ฐ๋ฐ ํ์ ์ ๋ฌธ ์ง์ ์์ค๊ณผ ์น์๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
MDP์๋ ๋ช ๊ฐ์ง ์ ์ฌ์ ์ธ ๊ณผ์ ์ ํ๊ณ๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์๋ก์ด ๋ชจ๋ธ๋ง ์ธ์ด, ๋๊ตฌ ๋ฐ ๊ธฐ์ ์ ์ฑํํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ํ์ต ๊ณก์ ์ด ์์ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ์์ฑ๋ ์ฝ๋๋ฅผ ์ดํดํ๊ณ , ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ์ ์ง ๊ด๋ฆฌํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช์ ์๋ ์์ต๋๋ค. ํนํ ์ฝ๋ ์์ฑ ๋๊ตฌ๊ฐ ์ ์ค๊ณ๋์ง ์์๊ฑฐ๋ ์ ๋ฌธ์ํ๋์ง ์์๊ฑฐ๋ ์์ฃผ ์ ๋ฐ์ดํธ๋์ง ์๋ ๊ฒฝ์ฐ ๋์ฑ ๊ทธ๋ ์ต๋๋ค. ๊ทธ๋ฌ๋ MDP ๋๊ตฌ์ ํ๋ซํผ์ด ์ฑ์ํด์ง์ ๋ฐ๋ผ ์ด๋ฌํ ๊ณผ์ ๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ค์ด๋ค ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค.
์ ๋ฐ์ ์ผ๋ก ๋ชจ๋ธ ๊ธฐ๋ฐ ํ๋ก๊ทธ๋๋ฐ์ ๋ค์ํ ์ฐ์ ๋ฐ ์ฌ์ฉ ์ฌ๋ก์์ ์ฆ๊ฐํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋ณต์ก์ฑ์ ๊ด๋ฆฌํ๋ ์ ๋งํ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค. MDP๋ ์ถ์ํ, ์๊ฐํ ๋ฐ ์๋ํ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ๊ฐ๋ฐ์๊ฐ ๋ฎ์ ์์ค์ ํ๋ก๊ทธ๋๋ฐ ์ธ๋ถ ์ฌํญ์ ์๊ฐ์ ๋ญ๋นํ๋ ๋์ ์ค์ ๋ฌธ์ ์ ์ง์คํ๊ณ ๊ณ ๊ฐ์๊ฒ ๊ฐ์น๋ฅผ ์ ๊ณตํ ์ ์๋๋ก ํด์ค๋๋ค. AppMasterno-code ํ๋ซํผ์ MDP์ ๊ธฐ๋ฅ์ ์์ํ๋ฉฐ ๊ด๋ฒ์ํ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ๋ง๋ ๊ณ ํ์ง ์น, ๋ชจ๋ฐ์ผ ๋ฐ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ธฐ ์ํ ์ก์ธ์ค ๊ฐ๋ฅํ๊ณ ์ ์ฐํ๋ฉฐ ํจ์จ์ ์ธ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค.