10

실무 데코레이터 패턴 가이드

반복되는 로깅 코드가 지겨워 - 데코레이터

학습 목표

캐싱, 인증, 로깅 패턴을 익힌다 적절한 패턴 선택 기준을 안다

실무에서 자주 쓰는 데코레이터 패턴

1. 캐싱 (Memoization)

에디터 로딩 중...

사용 시점:

  • 동일 입력 → 동일 출력 (순수 함수)
  • 비용이 큰 계산 (DB 쿼리, API 호출)
  • 반복 호출이 예상될 때

2. 인증/권한 체크

에디터 로딩 중...

사용 시점:

  • API 엔드포인트 보호
  • 관리자 기능 제한
  • RBAC (역할 기반 접근 제어)

3. 로깅/모니터링

에디터 로딩 중...

패턴 선택 가이드

상황추천 데코레이터
반복 계산 최적화@lru_cache
접근 권한 체크@require_auth, @require_role
실행 추적/디버깅@log_calls, @timing
입력 검증@validate_args
에러 복구@retry
트랜잭션 관리@transactional

"데코레이터로 관심사 분리를 달성하세요. 비즈니스 로직과 부가 기능(로깅, 캐싱, 인증)을 깔끔하게 분리!"

핵심 포인트
  • @lru_cache: 순수 함수 결과 캐싱
  • 인증 데코레이터: 권한 체크 로직 분리
  • 로깅 데코레이터: 호출/결과/에러 자동 기록
  • 데코레이터 = 관심사 분리의 핵심 도구