프록시 패턴
-
대상 객체에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인 패턴
-
보안, 데이터 검증, 캐싱, 로깅에 사용하며 객체가 아닌 서버로도 활용됨
프록시 서버
대표적인 예시로 Apache, Nginx, CloudFlare 등이 존재함
프록시 서버의 사용 예시
-
프록시를 거치기 때문에 실제 사용하는 포트를 숨길 수 있음
-
Nginx를 통해 정적 자원을 gzip하거나, 메인 서버 앞단 로깅하는 것이 가능
-
CloudFlare의 경우, HTTPS 구축에 용이함을 제공하며 DDOS 공격 방어가 가능
-
프론트엔드 프록시 서버를 통해 Cross Origin Resource Sharing (CORS) 에러를 방지할 수 있음
이터레이터 패턴
이터레이터를 통해 컬렉션의 요소들에 접근하는 디자인 패턴
노출모듈 패턴
즉시 실행 함수를 통해 private, public과 같은 접근 제어자를 만드는 패턴
- JS의 경우에는 따로 접근 제어자가 존재하지 않기 때문에 이를 구현하여 구축하기도 함