refernece ๐Ÿ”—

์ฑ…์ž„ ์—ฐ์‡„ ํŒจํ„ด(Chain Of Responsibility Pattern, COR)

ํด๋ผ์ด์–ดํŠธ์˜ ์š”์ฒญ์— ๋Œ€ํ•œ ์„ธ์„ธํ•œ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๊ฐ€ ๋ชฝ๋•… ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์—ฌ๋Ÿฌ๊ฐœ์˜์ฒ˜๋ฆฌ ๊ฐ์ฒด๋“ค๋กœ ๋‚˜๋ˆ„๊ณ , ์ด๋“ค์„์‚ฌ์Šฌ(chain)์ฒ˜๋Ÿผ ์—ฐ๊ฒฐํ•ด ์ง‘ํ•ฉ ์•ˆ์—์„œ ์—ฐ์‡„์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ํ–‰๋™ ํŒจํ„ด์ด๋‹ค.์ด๋Ÿฌํ•œ ์ฒ˜๋ฆฌ ๊ฐ์ฒด๋“ค์„ํ•ธ๋“ค๋Ÿฌ(handler)๋ผ๊ณ  ๋ถ€๋ฅด๋Š”๋ฐ, ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด ๊ฐ ํ•ธ๋“ค๋Ÿฌ๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€, ์—†์œผ๋ฉด ์ฒด์ธ์˜ ๋‹ค์Œ ํ•ธ๋“ค๋Ÿฌ๋กœ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์ฑ…์ž„์„ ์ „๊ฐ€ํ•œ๋‹ค. ํ•œ๋งˆ๋””๋กœ ์ฑ…์ž„ ์—ฐ์‡„๋ผ๋Š” ๋ง์€ ์š”์ฒญ์— ๋Œ€ํ•œ ์ฑ…์ž„์„ ๋‹ค๋ฅธ ๊ฐ์ฒด์— ๋– ๋„˜๊ธด๋‹ค๋Š” ์†Œ๋ฆฌ์ด๋‹ค. ๋– ๋„˜๊ธด๋‹ค๊ณ  ํ•˜๋‹ˆ๊นŒ ๋ถ€์ •์ ์ธ ์˜๋ฏธ๋กœ ๋“ค๋ฆด์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ, ์ด๋Ÿฌํ•œ ์ฒด์ธ ๊ตฌ์„ฑ์€ ํ•˜๋‚˜์˜ ๊ฐ์ฒด์— ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์ฑ…์ž„์„ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์ชฝ(sender)๊ณผ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š”(receiver) ์ชฝ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ฐ ๊ฐ์ฒด๋ฅผ ๋ถ€ํ’ˆ์œผ๋กœ ๋…๋ฆฝ์‹œํ‚ค๊ณ  ๊ฒฐํ•ฉ๋„๋ฅผ ๋А์Šจํ•˜๊ฒŒ ๋งŒ๋“ค๋ฉฐ, ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ๊ฐ์ฒด๊ฐ€ ๋ณ€ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์—๋„ ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํŠนํžˆ๋‚˜ ์ค‘์ฒฉ if-else๋ฌธ๋“ค์„ ์ตœ์ ํ™”ํ•˜๋Š”๋ฐ ์žˆ์–ด ์‹ค๋ฌด์—์„œ๋„ ๋งŽ์ด ์• ์šฉ๋˜๋Š” ํŒจํ„ด์ค‘ ํ•˜๋‚˜์ด๊ธฐ๋„ ํ•˜๋‹ค.

โœ…ย ์‚ฌ์šฉ์‹œ๊ธฐ

โœ…ย ์žฅ์ 