inblog logo
|
code-sudal
    design pattern

    프록시 (대리인) 패턴

    윤주헌'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

    RSS·Powered by Inblog