본문 바로가기
JAVA/CONCEPT

[JAVA] Proxy Pattern

by melll93 2023. 1. 27.

1. 프록시(Proxy) 패턴이란?

  • 프록시란 컴퓨터 네트워크에서 다른 서버 상의 자원을 찾는 클라이언트로부터 요청을 받아 중계하는 서버를 말한다. 프록시 패턴에서 프록시는 이와 마찬가지로 다른 객체가 수행해야 할 일을 프록시에게 요청해 대신 수행해주는 인터페이스의 역할을 하는 클래스이다.
  • 객체 A가 객체 B를 사용하고자 할 때, 객체를 직접 참조하는 것이 아닌 그 객체에 대응되는 프록시를 통해 접근하므로, 객체 B가 메모리에 존재하지 않아도 기본적인 정보를 참조하거나 설정할 수 있으며, 객체 B의 생성을 원하는 시점까지 미룰 수 있다.
  • 프록시 패턴은 초기화 지연, 접근 제어, 로깅, 캐싱 등에 다양하게 응용이 가능하다.

 

2. 프록시(Proxy)의 장단점

  • 장점
    1. 메모리가 큰 객체가 로딩되기 전에 프록시를 통해 참조할 수 있다.
    2. 프록시를 통해 객체에 접근하기 때문에 객체에 대한 접근 제어를 더 엄격히 할 수 있어, 개방-폐쇄의 원칙을 지키기 쉽고, 객체 간 의존성 또한 낮아지기 때문에 단일 책임의 원칙을 지키기 쉽다.
  • 단점
    1. 객체를 생성할 때, 프록시라는 한 단계를 더 거치게 되므로 객체 생성을 자주하게 될 경우, 성능이 저하될 수 있다.
    2. 코드가 길어지고 로직이 복잡해져 가독성이 떨어질 수 있다.
반응형

'JAVA > CONCEPT' 카테고리의 다른 글

[JAVA] Layered Pattern  (0) 2023.02.20
[JAVA] Singleton Pattern  (0) 2023.01.24
[JAVA] MVC Pattern  (0) 2023.01.17
[JAVA] 객체 지향 설계의 5가지 원칙 - SOLID 원칙  (0) 2023.01.16
[JAVA] 객체 지향 프로그래밍 (OOP) - 특징  (0) 2023.01.15

댓글