[디자인 패턴] Proxy Pattern

2019. 2. 5. 14:39cs/디자인 패턴

Proxy Pattern


Proxy Pattern은 하나의 객체에게 모든일을 맡기는 것이 아니라 대리인을 만듭니다. 

대리인이 처리할 수 있는 일은 대리인이 처리하게 만들고 그 이외의 일들은 자기가 처리하게 만들어줍니다. 


그래서 주인의 과부화를 막아주는 역활을 합니다. 


특이점 


Proxy 패턴을 사용해서 속도 올리기 


이번에 사용할 예제는 간단한 프로그램이기 때문에 크게 작용하진 않지만 초기화에 큰 시간이 드는 프로그램에서는 Proxy Pattern에서는 크게 적용할 것입니다. 


Proxy의 다양한 종류 


Http Proxy 


웹서버와 클라이언트 사이에 웹페이지의 캐싱을 실행하는 소프트웨어 입니다. 

페이지의 캐싱 

웹브라우저가 하나하나 웹서버에 접속하여 페이지를 취득하는게 아니라 Proxy가 캐쉬해서 어떤 페이지를 대신해서 취득합니다. 


Virtual Proxy 


인스턴스가 필요한 시점에서 생성 초기화를 실행합니다. 


Remote Proxy


네트워크의 상대쪽에 있음에도 불구하고 마치 자신의 옆에 있는 것처럼 메소드를 호출할 수 있습니다. 


Access Proxy 


RealSubject 역활의 기능에 대해서 엑세스 제한을 설정한 것입니다. 정해진 사용자이면 호출을 허가하지만, 그외에는 에러로 처리하는 Proxy입니다.