<aside>

</aside>


🌟 챕터 μ†Œκ°œ

μ•ˆλ…•ν•˜μ„Έμš”, μ—¬λŸ¬λΆ„! 😊 μ§€κΈˆκΉŒμ§€ GoF λ””μžμΈ νŒ¨ν„΄μ΄λΌλŠ” κ°•λ ₯ν•œ 섀계 도ꡬ듀을 λ°°μ› μŠ΅λ‹ˆλ‹€. 그런데 "κΌ­ μ΄λ ‡κ²Œ 클래슀λ₯Ό 많이 λ§Œλ“€μ–΄μ•Ό ν•˜λ‚˜? νŒŒμ΄μ¬μ—λŠ” μ’€ 더 κ°„κ²°ν•œ 방법이 μžˆμ§€ μ•Šμ„κΉŒ?" λΌλŠ” 생각, λ“€μ§€ μ•ŠμœΌμ…¨λ‚˜μš”? πŸ€”

λΉ™κ³ ! πŸŽ‰ νŒŒμ΄μ¬μ€ 맀우 μœ μ—°ν•˜κ³  ν‘œν˜„λ ₯이 ν’λΆ€ν•œ μ–Έμ–΄μ—¬μ„œ, 전톡적인 GoF νŒ¨ν„΄ κ΅¬ν˜„ 방식보닀 훨씬 κ°„κ²°ν•˜κ³  '파이썬슀러운(Pythonic)' λ°©μ‹μœΌλ‘œ λ™μΌν•œ 섀계 λͺ©ν‘œλ₯Ό 달성할 수 μžˆλŠ” κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€. 이번 μ‹œκ°„μ—λŠ” μš°λ¦¬κ°€ 배운 νŒ¨ν„΄λ“€μ΄ νŒŒμ΄μ¬μ„ λ§Œλ‚¬μ„ λ•Œ μ–΄λ–»κ²Œ λ³€μ‹ ν•˜λŠ”μ§€, μ–΄λ–€ 고유 κΈ°λŠ₯을 ν™œμš©ν•˜μ—¬ 더 κΉ”λ”ν•˜κ²Œ κ΅¬ν˜„ν•  수 μžˆλŠ”μ§€ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€! πŸ˜‰βœ¨


🎯 챕터 λͺ©ν‘œ

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

  1. 파이썬의 μ£Όμš” νŠΉμ§•μ΄ GoF λ””μžμΈ νŒ¨ν„΄ κ΅¬ν˜„μ— μ–΄λ–€ 영ν–₯을 λ―ΈμΉ˜λŠ”μ§€ μ„€λͺ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  2. 싱글톀(Singleton) νŒ¨ν„΄μ„ λͺ¨λ“ˆ, λ°μ½”λ ˆμ΄ν„° λ“± νŒŒμ΄μ¬λ‹€μš΄ λ°©μ‹μœΌλ‘œ κ΅¬ν˜„ν•˜λŠ” 방법을 μ΄ν•΄ν•©λ‹ˆλ‹€.
  3. μ „λž΅(Strategy), μ»€λ§¨λ“œ(Command), μ˜΅μ €λ²„(Observer) νŒ¨ν„΄μ„ 파이썬의 일급 ν•¨μˆ˜/μ½œλŸ¬λΈ”μ„ ν™œμš©ν•˜μ—¬ κ°„κ²°ν•˜κ²Œ κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  4. μ΄ν„°λ ˆμ΄ν„°(Iterator) νŒ¨ν„΄μ΄ 파이썬의 μ΄ν„°λ ˆμ΄μ…˜ ν”„λ‘œν† μ½œκ³Ό μ œλ„ˆλ ˆμ΄ν„°λ‘œ μ–΄λ–»κ²Œ κ΅¬ν˜„λ˜λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.
  5. λ°μ½”λ ˆμ΄ν„°(Decorator) νŒ¨ν„΄κ³Ό 파이썬의 @decorator ꡬ문의 관계와 차이λ₯Ό μ΄ν•΄ν•©λ‹ˆλ‹€.
  6. (μ†Œκ°œ) 방문자(Visitor) νŒ¨ν„΄ κ΅¬ν˜„ μ‹œ functools.singledispatchλ₯Ό ν™œμš©ν•˜λŠ” κ°œλ…μ„ μ΄ν•΄ν•©λ‹ˆλ‹€.
  7. νŒŒμ΄μ¬λ‹€μš΄ κ΅¬ν˜„μ΄ κ°€λŠ₯해도, λ””μžμΈ νŒ¨ν„΄μ˜ **근본적인 μ˜λ„(Intent)**λ₯Ό μ΄ν•΄ν•˜λŠ” 것이 μ™œ μ€‘μš”ν•œμ§€ μ„€λͺ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

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

이번 κ°•μ˜μ—μ„œλŠ” μ—¬λŸ¬ νŒ¨ν„΄μ— λŒ€ν•œ νŒŒμ΄μ¬λ‹€μš΄ κ΅¬ν˜„ 아이디어와 μ˜ˆμ‹œ μ½”λ“œ 쑰각듀을 λ³΄μ—¬μ£ΌλŠ” 데 μ§‘μ€‘ν•©λ‹ˆλ‹€. λͺ¨λ“  μ½”λ“œλŠ” pythonic_patterns_example.py 파일 ν•˜λ‚˜μ— λͺ¨μ•„ μ œκ³΅ν•©λ‹ˆλ‹€.