행위(behavioral) 패턴은 객체가 어떻게 상호작용하고 통신하는지를 다룹니다 — 책임의 할당과 객체 간 통신의 흐름에 관한 것입니다. Observer, Strategy, Command, Iterator, State, Template Method 등이 포함됩니다.
행위 패턴이 다루는 것
행위 패턴은 객체가 어떻게 상호작용하고, 통신하며, 책임을 분배하는지에 관한 것:
→ 객체들이 행위를 달성하기 위해 어떻게 협력하고 책임을 할당하는지
→ 객체 간 알고리즘, 통신, 제어 흐름을 관리함
→ 생성이나 구조가 아니라 행위와 상호작용에 관한 것
주요 행위 패턴
OBSERVER → 여러 객체에 상태 변경을 통지 (별도로 다룸) — 매우 흔함
STRATEGY → 런타임에 교체 가능한 알고리즘 (별도로 다룸) — 흔함
COMMAND → 요청을 객체로 캡슐화 (큐, 로그, 작업 취소)
ITERATOR → 내부 구조를 노출하지 않고 컬렉션을 순회
STATE → 내부 상태에 따라 행위를 변경 (객체가 서로 다른 "상태"처럼 동작)
TEMPLATE METHOD → 알고리즘의 골격을 정의하고, 서브클래스가 단계를 채움
CHAIN OF RESPONSIBILITY → 요청을 핸들러 체인을 따라 전달하여 하나가 처리할 때까지
MEDIATOR → 객체 간 복잡한 통신을 중앙화 (직접 결합을 줄임)
