์ฑ ์ ์ฌ์ฌ(Chain of Responsibility)์ ์ํํธ์จ์ด ์ํคํ ์ฒ ๋ฐ ํจํด ์์ญ์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๊ฐ์ฒด ์งํฅ ๋์์ธ ํจํด์ ๋๋ค. ์ด ํจํด์ ๋จ์ผ ๊ฐ์ฒด์๋ง ์์กดํ๋ ๋์ ์ฌ๋ฌ ๊ฐ์ฒด์ ์ฑ ์์ ์์ํ์ฌ ๋ค์ํ ์์ ์ด๋ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์ ์ฐํ๊ณ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ๋ฉฐ ํจ์จ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค. ์ด ํจํด์ ๊ธฐ๋ณธ ๊ฐ๋ ์ ํน์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ฑฐ๋ ์ด๋ฅผ ์ฒด์ธ์ ๋ค์ ํธ๋ค๋ฌ ๊ฐ์ฒด์ ์์ํ ์ ์๋ ํธ๋ค๋ฌ ๊ฐ์ฒด ์ฒด์ธ์ ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ํตํด ์์คํ ์ ์ ์ฒด ๊ธฐ๋ฅ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์ฒ๋ฆฌ๊ธฐ ๊ฐ์ฒด๋ ํด๋น ์ฐ์ ์์๋ฅผ ์ฝ๊ฒ ์ถ๊ฐ, ์ ๊ฑฐ ๋๋ ์์ ํ ์ ์์ต๋๋ค. AppMasterno-code ํ๋ซํผ์ ๋งฅ๋ฝ์์ ์ฑ ์ ์ฒด์ธ ํจํด์ ์ดํดํ๋ ๊ฒ์ ํ์์ ์ ๋๋ค. ํนํ ์งํํ๋ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๋ค์ํ ์ฌ์ฉ์ ์๊ตฌ ์ฌํญ์ผ๋ก ๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค๊ณํ๊ณ ๊ตฌ์กฐํํ ๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค.
์ฑ ์ ์ฌ์ฌ ํจํด์ ์ฒ๋ฆฌ๊ธฐ์ ๋์จํ ๊ฒฐํฉ, ๋ชจ๋์ฑ ์ฆ๊ฐ, ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ ํฅ์ ๋ฑ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์๋ง์ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. ๋ฐ์ ์ ๊ฐ์ฒด์ ์์ ์ ๊ฐ์ฒด๋ฅผ ๋ถ๋ฆฌํจ์ผ๋ก์จ ์ด ํจํด์ ์ฒ๋ฆฌ๊ธฐ ๊ฐ์ฒด์ ๋ํ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ ์์๊ฒ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉฐ ๊ทธ ๋ฐ๋์ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง์์ ๋ณด์ฅํฉ๋๋ค. ์ด๋ฌํ ๋์จํ ๊ฒฐํฉ์ ํตํด ์์คํ ์ ๋ค๋ฅธ ๋ถ๋ถ์ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ๊ธฐ์กด ๊ธฐ๋ฅ์ ์ฝ๊ฒ ํ์ฅํ๊ฑฐ๋ ์์ ํ ์ ์์ต๋๋ค. ์ฑ ์ ์ฒด์ธ ํจํด์ ๋ํ ๊ฐ ํธ๋ค๋ฌ๊ฐ ํน์ ์์ ์ ์ด์ ์ ๋ง์ถ๊ณ ๊ธฐ์กด ๊ตฌ์กฐ๋ฅผ ์ต์ํ์ผ๋ก ๋ณ๊ฒฝํ๋ฉด์ ์ ํธ๋ค๋ฌ์ ๋ํ ์ง์ ์ ์ ์ถ๊ฐํ ์ ์์ผ๋ฏ๋ก ๋ชจ๋์ฑ์ ์ด์งํฉ๋๋ค. ๋ํ ํธ๋ค๋ฌ๋ฅผ ๋ค๋ฅธ ์ฒด์ธ์ด๋ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ์ฌ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ํจํด์ ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ์ ์ฅ๋ คํฉ๋๋ค.
์ฑ ์ ์ฒด์ธ ํจํด ๊ตฌํ์๋ ์ผ๋ฐ์ ์ผ๋ก ํธ๋ค๋ฌ ์ธํฐํ์ด์ค ๋๋ ์ถ์ ํด๋์ค, ๊ตฌ์ฒด์ ์ธ ํธ๋ค๋ฌ ํด๋์ค, ํด๋ผ์ด์ธํธ ์ฝ๋ ๋ฐ ์ฒด์ธ์ ์์ฑํ๋ ๋ฉ์ปค๋์ฆ์ ํฌํจํ ์ฌ๋ฌ ์ฃผ์ ๊ตฌ์ฑ ์์๊ฐ ํฌํจ๋ฉ๋๋ค. ํธ๋ค๋ฌ ์ธํฐํ์ด์ค ๋๋ ์ถ์ ํด๋์ค๋ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ์ฒด์ธ์ ๋ค์ ํธ๋ค๋ฌ๋ฅผ ์ค์ ํ๋ ํ๋ ์ด์์ ๋ฉ์๋๋ก ๊ตฌ์ฑ๋ ๋ชจ๋ ํธ๋ค๋ฌ์ ๋ํ ๊ณตํต ์ฒญ์ฌ์ง์ ์ ์ํฉ๋๋ค. ๊ตฌ์ฒด์ ์ธ ํธ๋ค๋ฌ ํด๋์ค๋ ํธ๋ค๋ฌ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๊ฑฐ๋ ์ถ์ ํด๋์ค๋ฅผ ์์ํ์ฌ ํด๋น ์ฑ ์์ ๋ฐ๋ผ ์์ฒญ ์ฒ๋ฆฌ ๋ ผ๋ฆฌ๋ฅผ ์ฌ์ฉ์ ์ ์ํฉ๋๋ค. ๋ฐ๋ฉด์ ํด๋ผ์ด์ธํธ ์ฝ๋๋ ์ฒด์ธ์ ์์ฑํ๊ณ ์ด๋ฅผ ํตํด ์์ฒญ์ ์ ํํ๋ ์ญํ ์ ๋ด๋นํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก ํธ๋ค๋ฌ์ ์ฌ๋ฐ๋ฅธ ์์์ ์ฐ์ ์์๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด ์ฒด์ธ์ ์์ฑํ๊ณ ์ ์งํ๋ ๋ฉ์ปค๋์ฆ์ด ๋ง๋ จ๋ฉ๋๋ค.
์ค์ ๋ก ์ฑ ์ ์ฌ์ฌ ํจํด์ ๋ค์ํ ์ํํธ์จ์ด ์์คํ ๊ณผ ๋๋ฉ์ธ์ ์ ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๊ณ ๊ฐ ์ง์ ํฐ์ผ ์ฒ๋ฆฌ ์์คํ ์์๋ ๋ค์ํ ํธ๋ค๋ฌ๊ฐ ์ฐ์ ์์, ๋ถ์ ๋๋ ์ ํ ์นดํ ๊ณ ๋ฆฌ์ ๋ฐ๋ผ ํฐ์ผ ์ฒ๋ฆฌ๋ฅผ ๋ด๋นํฉ๋๋ค. ์ฑ ์ ์ฌ์ฌ ํจํด์ ๊ตฌํํจ์ผ๋ก์จ ์์คํ ์ ์์คํ ์ ๋ค๋ฅธ ๋ถ๋ถ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ํฐ์ผ ์ฒ๋ฆฌ๋ฅผ ๊ด๋ จ ์๋ด์์ด๋ ๋ถ์์ ์์ํ ์ ์์ผ๋ฉฐ, ์๋ก์ด ๋ถ์๋ ์นดํ ๊ณ ๋ฆฌ๊ฐ ๋์ ๋ ๋ ์ฝ๊ฒ ํ์ฅํ ์ ์์ต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์ ํ๋ ์์ํฌ์์ ๋ฏธ๋ค์จ์ด ๊ตฌ์ฑ ์์๋ ์ฌ์ ์ ์๋ ๊ท์น ์งํฉ์ ๊ธฐ๋ฐ์ผ๋ก ์ธ์ฆ, ๊ถํ ๋ถ์ฌ ๋๋ ๋ผ์ฐํ ์ ํ์ธํ๋ ํธ๋ค๋ฌ ์ญํ ์ ํ ์ ์์ต๋๋ค. ๋ฏธ๋ค์จ์ด ๊ตฌ์ฑ ์์ ์ฒด์ธ์ ํ์ฑํจ์ผ๋ก์จ ํ๋ ์์ํฌ๋ ๋ค์ด์ค๋ ์์ฒญ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ณ ํต์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๋ ผ๋ฆฌ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์๋ก์ด ๋ณด์ ์กฐ์น์ ์ ์ํ ์ ์์ต๋๋ค.
์ํํธ์จ์ด ๊ฐ๋ฐ์์ ์ฑ ์ ์ฌ์ฌ ํจํด์ ์ค์์ฑ์ ๊ณ ๋ คํ ๋ ๊ฐ๋ฐ์, ์ค๊ณ์ ๋ฐ ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ๊ฐ ๋ณต์กํ ์ํํธ์จ์ด ์์คํ ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค๊ณํ ๋ ์ด๋ฅผ ์ดํดํ๊ณ ์ฑํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. AppMasterno-code ํ๋ซํผ์์ ์ฌ์ฉ์๋ ์๊ฐ์ ์ผ๋ก ๋์์ธ๋ ๋น์ฆ๋์ค ํ๋ก์ธ์ค์ REST API endpoints ํ์ฉํ์ฌ ๋ค์ํ ์ฑ ์๊ณผ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ์ ์ฌํ ์๋๋ฆฌ์ค๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๋ํ AppMaster ์ ๊ธฐ๋ฅ ๋๋ถ์ ์ฌ์ฉ์๋ ์ต์ํ์ ๋ ธ๋ ฅ์ผ๋ก ํธ๋ค๋ฌ ๊ฐ์ฒด, ์ฆ ๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ฅผ ์์ฑ, ์์ ๋ฐ ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ๊ฒ ์ ์งํ ์ ์์ต๋๋ค. ์ฑ ์ ์ฌ์ฌ ํจํด์ ์ฑํํจ์ผ๋ก์จ AppMaster ์ฌ์ฉ์๋ ๋ณํํ๋ ์๊ตฌ ์ฌํญ์ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ณ ์ํํธ์จ์ด ์๋ฃจ์ ์ด ๋ฏธ๋์๋ ์ฌ์ฉํ ์ ์๊ณ ํ๋ ฅ์ฑ์ ์ ์งํ๋๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, Chain of Responsibility ํจํด์ ํ๋ ์ํํธ์จ์ด ์ํคํ ์ฒ ๋ฐ ํจํด์ ๊ท์คํ ๋์์ธ ๋๊ตฌ๋ก, ์์ ์ด๋ ์์ฒญ์ ๊ด๋ฆฌํ๊ณ ์์ํ๊ธฐ ์ํ ์ ์ฐํ๊ณ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค. ์ด ํจํด์ ๋์จํ ๊ฒฐํฉ, ๋ชจ๋์ฑ, ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ์ ๋น๋กฏํ ์ฌ๋ฌ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. AppMasterno-code ํ๋ซํผ์์ ์ด ํจํด์ ์ดํดํ๊ณ ๊ตฌํํ๋ฉด ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํจ์จ์ ์ผ๋ก ๊ตฌ์ฑํ์ฌ ์ฝ๊ฒ ํ์ฅ, ์์ ๋ฐ ํ์ฅํ ์ ์์ผ๋ฉฐ ๊ถ๊ทน์ ์ผ๋ก ์ ๋ฐ์ ์ธ ์ํํธ์จ์ด ํ์ง๊ณผ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.