프록시 (대리인) 패턴

윤주헌's avatar
Aug 13, 2024
프록시 (대리인) 패턴
Contents
1. 예시
💡
다른 객체에 대한 대체 또는 자리표시자를 제공할 수 있는 구조 디자인 패턴입니다. 프록시는 원래 객체에 대한 접근을 제어하므로, 당신의 요청이 원래 객체에 전달되기 전 또는 후에 무언가를 수행할 수 있도록 합니다.
결국은 기본 코드는 안 고치고 할 수 있게 만들기 위함이다
 
동물들이 문지기 보면 ‘안녕’ 인사를 하게 하고 싶다
→ 동물 앞에 뭔가를 둘거다
 
라우터(분배기)
여기다 프록시를 둔다 유튜브 아이피면 팅겨내게 만든다 →이거를 포워드 프록시라 한다
 
유튜브에서도 할 수 있다. 중국들어오는 것 팅겨내개 만들 수 있다. 이거를 리버스 프록시(자기 바로 앞에 있는 것)
 
우회하는 방법이 있다. a가 인도 아이피를 때려 그리고 유튜브로 들어갈 수 있다.
 
notion image
 
💡
AOP 핵심 로직만 신경써 다른 부분은 내가 할게!
프레임 워크가 알아서 프록시 알아서 해준다 핵심 로직에만 집중할 수 있게 만들어 준다 → AOP

1. 예시

전략패턴 코드 참조
기존 코드에 손대지 않고 부가적인 것을 추가하기 위함
public class DoormanProxy { //상속해도 컴퍼지션hsa a 둘 다 해도 된다! private Doorman doorman; public DoormanProxy(Doorman doorman) { this.doorman = doorman; } public void 쫓아내(Animal a) { System.out.println("안녕~~~~"); doorman.쫓아내(a); } } public class App { public static void main(String[] args) { Mouse m = new Mouse(); //-> mouse, animal heap주소를 전달하는 것임 뭐를 가르키든 Animal a해서 상관없다. DoormanProxy doormanProxy = new DoormanProxy(new Doorman()); //왜 animal 안해도 괜찮은가? m doormanProxy.쫓아내(m); /* Mouse m1 = new Mouse(); Animal a =m1; //이 말과 같다 매개변수가 타입 받을 때 알아서 바꾼다 */ } }
Share article

code-sudal