๊ด์ฐฐ์ ํจํด์ ์ฃผ์ฒด๋ก ์๋ ค์ง ๊ฐ์ฒด๊ฐ ์๋ก์ ๊ตฌํ ์ธ๋ถ ์ฌํญ์ ์ ํ์ ์์ด ๊ด์ฐฐ์๋ผ๊ณ ํ๋ ์ข ์ ํญ๋ชฉ์ ์ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ ๋ฌํ ์ ์๋๋ก ํ๋ ๋๋ฆฌ ์ธ์๋๊ณ ๊ด๋ฒ์ํ๊ฒ ์ฌ์ฉ๋๋ ์ํํธ์จ์ด ๋์์ธ ํจํด์ ๋๋ค. ์ด๋ฌํ ํ๋ ํจํด์ ์ฃผ์ฒด์ ๊ด์ฐฐ์ ์ฌ์ด์ ๋์จํ ๊ฒฐํฉ์ ์ด์งํ์ฌ ์ฌ๋ฌ ๊ด์ฐฐ์๊ฐ ์ฃผ์ฒด์ ๊ตฌํ์ ์์ ํ์ง ์๊ณ ๋ ์ํ ๋ณ๊ฒฝ์ ๋ํด ์กฐ์น๋ฅผ ์ทจํ ์ ์๋๋ก ํฉ๋๋ค. ๊ด์ฐฐ์ ํจํด์ ์ฃผ์ ๋ชฉ์ ์ ๊ฐ์ฒด ๊ฐ์ ์ผ๋๋ค ์ข ์ ๊ด๊ณ๋ฅผ ์ค์ ํ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์ ํ ๊ฐ์ฒด๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์ข ์ ๊ฐ์ฒด๊ฐ ์๋์ผ๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
์ํํธ์จ์ด ์ํคํ ์ฒ ๋ฐ ํจํด์ ๋งฅ๋ฝ์์ ๊ด์ฐฐ์ ํจํด์ ์ด๋ฒคํธ ์ค์ฌ ํ๋ก๊ทธ๋๋ฐ์ ๋ํ ํจ์จ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ด์งํ๊ณ ๊ด์ฌ์ฌ์ ํจ๊ณผ์ ์ธ ๋ถ๋ฆฌ๋ฅผ ์ฅ๋ คํฉ๋๋ค. ์ด ํจํด์ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ, ์ฌ์ฉ์ ์ธํฐํ์ด์ค ํ๋ก๊ทธ๋๋ฐ, ์ด๋ฒคํธ ๊ด๋ฆฌ, ๊ฒ์-๊ตฌ๋ ์์คํ ๋ฑ ๋ค์ํ ๋๋ฉ์ธ์ ์ ์ฉ๋ฉ๋๋ค. ๊ฐ๋ฐ์๋ ๊ฒ์-๊ตฌ๋ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๊ด์ฐฐ์ ํจํด์ ๊ตฌํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ฌ๊ธฐ์ ๊ฒ์์ ๊ฐ์ฒด๋ ๊ตฌ๋ ์ ๊ฐ์ฒด ๋ชฉ๋ก์ ์ ์ง ๊ด๋ฆฌํ๊ณ ํน์ ์ด๋ฒคํธ์ ๋ํด ์๋ฆผ์ ๋ณด๋ ๋๋ค. ์๋ก๋ ์ค์๊ฐ ์๋ฆผ ์์คํ , ์ฃผ์ ์์ฅ ์ ํ๋ฆฌ์ผ์ด์ , ๋ ์จ ๋ชจ๋ํฐ๋ง ์์คํ ๋ฑ์ด ์์ต๋๋ค.
๊ด์ฐฐ์ ํจํด ๊ตฌํ์ ์ฃผ์ ์ด์ ์ค ํ๋๋ ์ํํธ์จ์ด์ ๋ชจ๋์ฑ๊ณผ ํ์ฅ์ฑ์ ์ ์งํ๋ ๋ฐ ๋์์ด ๋๋ค๋ ๊ฒ์ ๋๋ค. ์ฃผ์ฒด์ ๊ด์ฐฐ์๊ฐ ๋ณ๋๋ก ์ ์ง๋๋ฏ๋ก ๊ฐ ์ํฐํฐ์ ๋ํ ์์ ๋๋ ํ์ฅ์ด ์๋ก ๊ฐ์ญํ์ง ์๊ณ ์ํ๋ ์ ์์ผ๋ฏ๋ก ์ ๋ฐ์ ์ธ ์ ์ง ๊ด๋ฆฌ ๋ ธ๋ ฅ์ด ์ค์ด๋ค๊ณ ์ค๊ณ ๋ฌธ์ ์ ์ํ์ด ์ํ๋ฉ๋๋ค. ๋ํ ์ด ํจํด์ ์ฌ์ฉํ๋ฉด ์์คํ ์ ๋ฏธ์น๋ ์ํฅ์ ์ต์ํํ๋ฉด์ ์๋ก์ด ๊ด์ฐฐ์๋ฅผ ๋์ ์ผ๋ก ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ ์ ์์ผ๋ฏ๋ก ์ ์์ฑ๊ณผ ํ์ฅ์ฑ์ด ํฅ์๋ฉ๋๋ค.
AppMasterno-code ํ๋ซํผ ๋ด์์ ๊ด์ฐฐ์ ํจํด์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ๋ค์ํ ์ธก๋ฉด์์ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. AppMaster ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ๋ค์ํ ๊ตฌ์ฑ ์์๋ก ๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ผ๋ฏ๋ก ์ํธ ์ข ์์ฑ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค. AppMaster Observer Pattern์ ํตํฉํจ์ผ๋ก์จ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ ์์๊ฐ ๊ด๋ จ ๊ตฌ์ฑ ์์์ ๋ณ๊ฒฝ ์ฌํญ์ ํจ์จ์ ์ผ๋ก ๋์ํ๋ฉด์ ์์ง๋ ฅ์ ์ ์งํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ AppMaster ํ๋ซํผ์ ์ฌ์ฉํ์ฌ ์ ์์๊ฑฐ๋ ์์ ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ์๋๋ฆฌ์ค๋ฅผ ์๊ฐํด ๋ณด๊ฒ ์ต๋๋ค. ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๊ณ ๊ด๋ฆฌ, ์ฃผ๋ฌธ ์ฒ๋ฆฌ, ๊ณ ๊ฐ ํ๋กํ, ๊ฒฐ์ ์ฒ๋ฆฌ ๋ฑ ์ฌ๋ฌ ๊ตฌ์ฑ ์์๋ก ๊ตฌ์ฑ๋ ์ ์์ต๋๋ค. ๊ด์ฐฐ์ ํจํด์ ๊ตฌํํจ์ผ๋ก์จ ์ด๋ฌํ ๊ตฌ์ฑ ์์๋ ๋์จํ๊ฒ ๊ฒฐํฉ๋ ๋ฐฉ์์ผ๋ก ์๋ก ์ํธ ์์ฉํ ์ ์์ผ๋ฏ๋ก ์ฌ๊ณ ์ ๋ฐ์ดํธ์ ๊ฐ์ ํ ๊ตฌ์ฑ ์์์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ฃผ๋ฌธ ์ฒ๋ฆฌ ๋ฐ ๊ณ ๊ฐ ํ๋กํ๊ณผ ๊ฐ์ ์ข ์ ๊ตฌ์ฑ ์์์ ์๋ฌด๋ฐ ์ํฅ ์์ด ์ ํ๋ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์์ ์ง์ ์ ์ธ ๊ฐ์ .
๊ด์ฐฐ์ ํจํด์ ๊ตฌ์ฑ ์์ ๊ฐ์ ์๊ธฐ์ ์ ํ๊ณ ํจ์จ์ ์ธ ํต์ ์ ์ด์งํ๋ ๊ฒ ์ธ์๋ ๋ถํ์ํ ์ํธ ์์ฉ์ ์ต์ํํ๊ณ ์ค๋ณต ์ฒ๋ฆฌ ์ค๋ฒํค๋๋ฅผ ์ค์ฌ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ํฅ์์ํค๋ ๋ฐ๋ ๋์์ด ๋ฉ๋๋ค. ์ด๋ ๋ง์ ์์ ์ด๋ฒคํธ๊ฐ ๋์์ ๋ฐ์ํ์ฌ ๋ณ๋ชฉ ํ์์ด ๋ฐ์ํ๊ณ ์ฑ๋ฅ์ด ์ ํ๋ ์ ์๋ ์ค์๊ฐ ๊ณ ๋ถํ ์ฌ์ฉ ์ฌ๋ก์ ํนํ ์ ์ฉํฉ๋๋ค.
์์ฝํ์๋ฉด, ๊ด์ฐฐ์ โโํจํด์ ์ํํธ์จ์ด ์์คํ ์ ๋ค์ํ ๊ตฌ์ฑ ์์ ๊ฐ์ ๋์จํ ๊ฒฐํฉ, ํจ์จ์ ์ธ ํต์ ๋ฐ ํ์ฅ์ฑ์ ์ด์งํ๋ฏ๋ก ์ํํธ์จ์ด ์ํคํ ์ฒ ๋ฐ ํจํด ์์ญ์์ ๋งค์ฐ ๊ท์คํ ๋์์ธ ํจํด์ ๋๋ค. ๊ด์ฐฐ์ ํจํด์ ๊ฐ์ฒด ๊ฐ์ ์ผ๋๋ค ์ข ์ ๊ด๊ณ๋ฅผ ์ค์ ํจ์ผ๋ก์จ ๊ฐ๋ฐ์๊ฐ ๋ณํํ๋ ์๊ตฌ ์ฌํญ์ ํจ์จ์ ์ผ๋ก ์ ์ํ ์ ์๋ ๊ฐ๋ ฅํ๊ณ ๋ชจ๋์์ด๋ฉฐ ํ์ฅ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. AppMasterno-code ํ๋ซํผ์ Observer Pattern์ ํตํฉํ์ฌ ์ฌ์ฉ์์๊ฒ ๊ฐ๋ฐ ์๊ฐ, ๋น์ฉ ๋ฐ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์ค์ด๋ฉด์ ๋ค์ํ ๋๋ฉ์ธ ๋ฐ ์ฌ์ฉ ์ฌ๋ก์ ๊ฑธ์ณ ๋ค๋ชฉ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ ์ ์๋ ํฌ๊ด์ ์ด๊ณ ๊ฐ๋ ฅํ ๋๊ตฌ ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.