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

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