<aside>

</aside>


🌟 챕터 μ†Œκ°œ

μ•ˆλ…•ν•˜μ„Έμš”, μ—¬λŸ¬λΆ„! 😊 μ˜€λŠ˜μ€ μ—¬λŸ¬ 객체듀이 마치 릴레이 경주처럼 μš”μ²­μ„ μ£Όκ³ λ°›μœΌλ©° μ²˜λ¦¬ν•˜λŠ” **μ±…μž„ 연쇄 νŒ¨ν„΄(Chain of Responsibility Pattern)**에 λŒ€ν•΄ μ•Œμ•„λ³Ό κ±°μ˜ˆμš”! πŸƒβ€β™‚οΈπŸƒβ€β™€οΈβž‘οΈ

νšŒμ‚¬μ—μ„œ 결재 μ„œλ₯˜λ₯Ό 올리면 λ‹΄λ‹Ήμž β†’ νŒ€μž₯ β†’ λΆ€μ„œμž₯ μˆœμ„œλ‘œ μ „λ‹¬λ˜λ©° 처리되죠? μ±…μž„ 연쇄 νŒ¨ν„΄μ€ 이처럼 μš”μ²­μ„ μ²˜λ¦¬ν•  수 μžˆλŠ” 객체듀을 μ‚¬μŠ¬(Chain)처럼 μ—°κ²°ν•΄ 놓고, μš”μ²­μ΄ λ“€μ–΄μ˜€λ©΄ μ‚¬μŠ¬μ„ 따라 μ „λ‹¬ν•˜λ©΄μ„œ μžμ‹ μ΄ μ²˜λ¦¬ν•  수 μžˆλŠ” 객체가 λ‚˜νƒ€λ‚˜λ©΄ μ²˜λ¦¬ν•˜λ„λ‘ ν•˜λŠ” 행동 νŒ¨ν„΄μž…λ‹ˆλ‹€. μš”μ²­μ„ λ³΄λ‚΄λŠ” μͺ½μ€ λˆ„κ°€ μ΅œμ’…μ μœΌλ‘œ μ²˜λ¦¬ν• μ§€ μ•Œ ν•„μš”κ°€ μ—†μ–΄μ§€λŠ” κΉ”λ”ν•œ ꡬ쑰λ₯Ό λ§Œλ“€ 수 있죠. ν•¨κ»˜ μžμ„Ένžˆ μ•Œμ•„λ΄…μ‹œλ‹€! ✨


🎯 챕터 λͺ©ν‘œ

이번 κ°•μ˜μ˜ λͺ©ν‘œμž…λ‹ˆλ‹€.

  1. μ±…μž„ 연쇄 νŒ¨ν„΄μ˜ μ˜λ„(μš”μ²­μ˜ μ†‘μ‹ μžμ™€ μˆ˜μ‹ μžλ₯Ό λΆ„λ¦¬ν•˜κ³ , μ—¬λŸ¬ κ°μ²΄μ—κ²Œ 처리 기회λ₯Ό 제곡)λ₯Ό μ„€λͺ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  2. 이 νŒ¨ν„΄μ΄ ν•΄κ²°ν•˜λŠ” 문제(μ†‘μ‹ μžκ°€ μˆ˜μ‹ μžλ₯Ό λͺ¨λ₯΄λŠ” 경우, μ—¬λŸ¬ 객체가 μš”μ²­μ„ μ²˜λ¦¬ν•  수 μžˆλŠ” 경우)λ₯Ό 식별할 수 μžˆμŠ΅λ‹ˆλ‹€.
  3. μ£Όμš” μ°Έμ—¬μž(Handler, ConcreteHandler, Client)와 각자의 역할을 μ΄ν•΄ν•©λ‹ˆλ‹€.
  4. μš”μ²­μ΄ μ–΄λ–»κ²Œ μ‚¬μŠ¬(chain)을 따라 μ „λ‹¬λ˜κ³  μ²˜λ¦¬λ˜λŠ”μ§€ μ„€λͺ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  5. Pythonμ—μ„œ μ±…μž„ 연쇄 νŒ¨ν„΄μ„ κ΅¬ν˜„ν•˜κ³  ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  6. νŒ¨ν„΄μ˜ 이점(λŠμŠ¨ν•œ κ²°ν•©, μœ μ—°μ„±)κ³Ό 고렀사항(μš”μ²­ 미처리 κ°€λŠ₯μ„±)을 μ΄ν•΄ν•©λ‹ˆλ‹€.

πŸ’» κ°•μ˜μ—μ„œ μ‚¬μš©λ˜λŠ” 전체 μ½”λ“œ 및 ν”„λ‘œμ νŠΈ ꡬ쑰

μ›Ή μš”μ²­ ν•„ν„° 체인 예제λ₯Ό 톡해, λ“€μ–΄μ˜¨ μ›Ή μš”μ²­μ΄ 인증, λ‘œκΉ…, μ••μΆ• ν•Έλ“€λŸ¬ 등을 순차적으둜 κ±°μΉ˜λŠ” 과정을 λ³΄μ—¬λ“œλ¦½λ‹ˆλ‹€. λͺ¨λ“  μ½”λ“œλŠ” chain_of_responsibility_example.py 파일 ν•˜λ‚˜μ— λ‹΄κ² μŠ΅λ‹ˆλ‹€.