[디자인 패턴] Proxy Pattern

서동수·2023년 2월 5일
0

프록시?

중개자로 이해하면 쉬워요!
나를 대신해서 요청해주고 또 대신 응답을 받아주죠.

프록시 패턴 (Proxy Pattern)

아래 코드는 의사코드(pseudo-code)입니다.

// 프록시 패턴 적용 전
학교() {
  학생목록 // [임꺽정, 홍길동, 김철수, 박혁거세 ...]
  입학() // 학생목록 추가
  졸업() // 학생목록 제거
}

// 프록시 패턴 적용 후
학교프록시() {
  학교 // new 학교()
  학생수 // 0
  
  return {
    입학() // 학교 학생목록에 추가, 학생수 + 1
    졸업() // 학교 학생목록에서 제거, 학생수 - 1
    학교 가져오기() // 학교 반환
    학생 수 가져오기() // 학생 수 반환
  }
}

프록시 패턴 장, 단점

장점

  • 전처리, 후처리하기에 좋다.
    client -> server 보다
    client -> proxy -> server 처럼 프록시를 이용하게 되면
    proxy -> server 에 요청하는 작업을 하기 전에 전처리가 가능해 진다.
    client는 server가 무슨일을 하는지 정확히 알기 어려워 보안이 조금 더 좋다고 볼 수도 있다.
  • 프록시에 캐시를 해두면 로딩 전 참조할 수 있다.

단점

  • 단계가 많아지면 그 만큼 이해하기 어려운 구조가 될 수 있다.
profile
devLog

0개의 댓글