Observer Pattern

์šฉ์–ด

  • ์˜ต์ €๋ฒ„(Observer): ํŠน์ • ๊ฐ์ฒด๋ฅผ ๊ตฌ๋…ํ•˜๋Š” ์ฃผ์ฒด

  • ์˜ต์ €๋ฒ„๋ธ”(Observable): ๊ตฌ๋… ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด

์˜๋ฏธ์™€ ํŠน์„ฑ

์ƒํƒœ ๋ณ€ํ™”๊ฐ€ ์žˆ์„ ๋•Œ๋งˆ๋‹ค ์˜ต์ €๋ฒ„๋ธ”์ด ํ•ด๋‹น ์˜ต์ €๋ฒ„๋ธ”์— ๋“ฑ๋ก๋œ ๊ฐ ์˜ต์ €๋ฒ„์— ์ด๋ฒคํŠธ๋ฅผ ์ „ํŒŒํ•˜๋Š” ํŒจํ„ด์ด๋‹ค. Observer ํŒจํ„ด์€ ์•„๋ž˜์™€ ๊ฐ™์€ ํŠน์„ฑ์„ ๊ฐ€์ง„๋‹ค.

  • ์˜ต์ €๋ฒ„๋ธ”๊ณผ ์˜ต์ €๋ฒ„๋Š” ์ผ๋Œ€๋‹ค ์ข…์†์„ฑ์„ ๊ฐ–๋Š”๋‹ค.

  • ์˜ต์ €๋ฒ„๋ธ”์˜ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ๋“ฑ๋ก๋œ ์˜ต์ €๋ฒ„์— ์ž๋™์œผ๋กœ ์ด๋ฒคํŠธ๊ฐ€ ์ „ํŒŒ๋˜์–ด์•ผ ํ•œ๋‹ค.

RxJS๋Š” Observer ํŒจํ„ด, ์ดํ„ฐ๋ ˆ์ดํ„ฐ ํŒจํ„ด, ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์กฐํ•ฉํ•œ ReactiveX ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

(์ฝ”๋“œ, ์ž…๋ฌธ์„œ)

์žฅ์ 

  • ์˜ต์ €๋ฒ„์™€ ์˜ต์ €๋ฒ„๋ธ”์˜ ๊ด€๊ณ„๋ฅผ ๋Š์Šจํ•˜๊ฒŒ ์œ ์ง€ํ–ˆ์„ ๋•Œ, ๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ๋ฅผ ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

  • RxJS์˜ ๊ฒฝ์šฐ, ๋ณต์žกํ•œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค.

๋‹จ์ 

  • ์˜ต์ €๋ฒ„๊ฐ€ ๋ณต์žกํ•ด์ง€๊ฑฐ๋‚˜, ์ œ๋•Œ ๊ตฌ๋… ํ•ด์ œํ•˜์ง€ ์•Š์•˜์„ ๋•Œ ์„ฑ๋Šฅ ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

  • RxJS์˜ ๊ฒฝ์šฐ, ํ•™์Šต ํ—ˆ๋“ค์ด ๋†’์€ ํŽธ์ด๋‹ค.

์ฐธ๊ณ  ์ž๋ฃŒ

Last updated