일부 메서드의 동작 변경할때 기존 코드는 손대지 않고 기능을 변경 할 수 있기에...!
가상 프록시 (Virtual Proxy):
비용이 많이 드는 객체를 필요할 때 생성하도록 하는 패턴
ex) 데이터베이스 접근은 데이터가 실제로 사용되기 전까지 프록시가 대신하는데, 이는 초기화를 지연시키는 효과를 가지며, 복사/수정에도 유용
리모트 프록시 (Remote Proxy):
원격 컴포넌트의 클라이언트를 네트워크 주소와 IPC 프로토콜로부터 숨기는 패턴
프록시는 요청을 네트워크를 통해 전송하고, 이 요청은 서버 측 객체에 의해 처리된다.
보호 프록시 (Protection Proxy):
특정 메소드로의 접근을 제어하는 패턴
프록시 메소드는 인증 토큰을 전달받고, 이 토큰이 요청한 연산을 인증하지 못하면 예외를 던진다
시간이 오래 걸리는 작업을 위임하는 패턴:
프록시를 사용하여 시간이 오래 걸리는 작업을 대리인에게 위임함으로써 성능을 향상시킬 수 있다.
시스템 초기화나 프린트 프로그램에서 실제 프린터를 실행하는 과정 등이 해당
캐시 프록시 (Cache Proxy):
다수의 로컬 클라이언트들이 원격 컴포넌트로부터 얻어낸 결과를 공유할 수 있는 패턴
캐시를 보관하는 프록시
동기화 프록시 (Synchronization Proxy):
하나의 컴포넌트에 대해 다수의 유사한 액세스들을 동기화해야 할 때 사용하는 패턴
사용량 통계를 계산하거나 컴포넌트 삭제를 방지하는 패턴:
컴포넌트가 삭제되지 않도록 하거나 사용량 통계를 계산해야 할 때 사용
'의문점 공부하기 > 🧾공부하며' 카테고리의 다른 글
🧾 자바 직렬화는 왜 쓸까 (2) | 2023.08.02 |
---|---|
🧾 동적 프록시란 ??? (0) | 2023.08.01 |
🧾 Auto commit을 false로 설정해야 하는 이유는???? (0) | 2023.07.26 |
🧾 스레드를 재사용해야 하는 이유 (0) | 2023.07.14 |
🧾 여러 스레드가 공유된 메모리에 접근하여 값을 변경하면???? (0) | 2023.07.14 |