디자인 패턴은 학문적인 것만이 아닙니다 — 그것들은 실제 프레임워크, 라이브러리, 코드베이스 전반에 내장되어 있습니다. 사용하는 도구에서 패턴을 인식하면 이해가 깊어지고 그 실용적 가치가 드러납니다.
인기 프레임워크의 패턴
✓ OBSERVER → React의 반응성, RxJS, event emitter, 상태 관리 (변경 구독)
✓ DEPENDENCY INJECTION → Spring, Angular, NestJS (의존성 주입, IoC 컨테이너)
✓ DECORATOR → 미들웨어, React HOC, Python/TypeScript decorator, I/O 스트림 감싸기
✓ FACTORY → 많은 프레임워크/라이브러리의 객체/컴포넌트 생성
✓ STRATEGY → 플러그형 알고리즘 (정렬 비교자, Passport 같은 인증 strategy)
✓ SINGLETON → 앱 전역 서비스, 설정, 커넥션 풀
✓ PROXY → ORM(지연 로딩), JS Proxy, API 클라이언트, 캐싱 proxy
✓ MVC/MVVM → 웹 프레임워크(Rails, Django, ASP.NET); UI 프레임워크의 MVVM(데이터 바인딩)
언어 기능과 라이브러리의 패턴
✓ ITERATOR → 대부분 언어의 내장 반복 (for-of, iterator/generator)
✓ COMMAND → Redux action, 작업 큐, 실행 취소 시스템
✓ BUILDER → fluent API (쿼리 빌더, 요청 빌더, 테스트 데이터 빌더)
✓ ADAPTER → 라이브러리 감싸기, polyfill, 호환성 계층
✓ REPOSITORY → 많은 아키텍처/ORM의 데이터 접근 계층
→ 패턴은 매일 사용하는 도구 도처에 있음
