๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (453)

Dev Blog

์—๋Ÿฌ์™€ ๋ฒ„๊ทธ์˜ ์ฐจ์ด์ 

์—๋Ÿฌ(Error)์™€ ๋ฒ„๊ทธ(Bug)๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ์ž์ฃผ ํ˜ผ์šฉ๋˜์ง€๋งŒ, ์˜๋ฏธ์™€ ๋งฅ๋ฝ์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.์•„๋ž˜์—์„œ ๋‘ ๊ฐœ๋…์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.1. ์—๋Ÿฌ (Error)์ •์˜: ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์‹คํ–‰ ์ค‘ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ์‹คํŒจํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ.๋ฐœ์ƒ ์›์ธ: ์ฃผ๋กœ ๋Ÿฐํƒ€์ž„(Runtime) ๋˜๋Š” ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ์ฝ”๋“œ๋‚˜ ์‹œ์Šคํ…œ์ด ์˜๋„ํ•œ ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ๋•Œ ๋ฐœ์ƒ.์œ ํ˜•:์ปดํŒŒ์ผ ์—๋Ÿฌ: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜๋‚˜ ์ž˜๋ชป๋œ ์ฝ”๋“œ ์ž‘์„ฑ์œผ๋กœ ์ธํ•ด ํ”„๋กœ๊ทธ๋žจ์ด ์ปดํŒŒ์ผ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ.์˜ˆ: int x = "text"; (๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ถˆ์ผ์น˜)๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ: ์‹คํ–‰ ์ค‘์— ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋กœ, ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉˆ์ถ”๊ฑฐ๋‚˜ ๋น„์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋จ.์˜ˆ: 0์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ, NullPointerException, ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ๋“ฑ.๋…ผ๋ฆฌ์  ์—๋Ÿฌ: ์‹คํ–‰์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์œผ๋‚˜, ๊ฒฐ๊ณผ๊ฐ€ ์˜..

Mediator Pattern

Mediator(์ค‘์žฌ์ž, ์กฐ์ •์ž) ํŒจํ„ด์€component ๊ฐ€ ์ค‘์•™ ์ง€์ ์ธ ์ค‘์žฌ์ž๋ฅผ ํ†ตํ•ด ์„œ๋กœ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด,ํ•ญ๊ณต ๊ตํ†ต ๊ด€์ œ์‚ฌ๊ฐ€ ๋ชจ๋“  ๋น„ํ–‰๊ธฐ๊ฐ€ ๋‹ค๋ฅธ ๋น„ํ–‰๊ธฐ์— ์ถฉ๋Œํ•˜์ง€ ์•Š๊ณ ์•ˆ์ „ํ•˜๊ฒŒ ๋น„ํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋ฐ›๋„๋ก ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ง์ ‘ ํ†ต์‹ ํ•˜์—ฌ many to many ๊ด€๊ณ„๊ฐ€ ๋˜๋Š” ๋Œ€์‹ ,๊ฐ์ฒด์˜ ์š”์ฒญ์€ Mediator ๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ, Mediator ๋Š” ์ด ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ํ•„์š”ํ•œ ๊ณณ์œผ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. Before. Mediator ํŒจํ„ด ์ ์šฉ ์ „. After. Mediator ํŒจํ„ด ์ ์šฉ ํ›„. Chat room ์ด ์˜ˆ์‹œ ์ค‘ ํ•˜๋‚˜๋กœ,์ฑ„ํŒ…๋ฐฉ ๋‚ด์˜ ์‚ฌ์šฉ์ž๋“ค์€ ์„œ๋กœ ์ง์ ‘ ๋Œ€ํ™”ํ•˜์ง€ ์•Š๊ณ , ๋Œ€์‹ , Chat room ์ด ์‚ฌ์šฉ์ž๋“ค ์‚ฌ์ด์˜ ์ค‘์žฌ์ž ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ..

Web Development/JS Patterns 2024. 12. 8. 09:37