본문 바로가기
CS/디자인패턴

[CS] 프록시 패턴

by Johnny's 2023. 9. 18.

프록시 패턴

프록시패턴이란 객체가 어떤 대상 객체에 접근하기 전, 그 접근에 대한 흐름을 가로채서 해당 접근을 필터링하거나 수정하는 등의 역할을 하는 계층이 있는 디자인패턴

 

프록시 서버

서버 앞단에 두어 캐싱, 로깅 등에 활용하는 프록시서버가 대표적인 예

 

function createReactiveObject(target, callback) {
    const proxy = new Proxy(target, {
        set(obj, prop, value) {
            if (value !== obj[prop]) {
                const prev = obj[prop];
                obj[prop] = value;
                callback(`${prop}가 [${prev}] >> [${value}] 로
변경되었습니다`);
            }
            return true;
        },
    });
    return proxy;
}

const a = {
    형규: "솔로",
};

const b = createReactiveObject(a, console.log);
b.형규 = "솔로";
b.형규 = "커플";
// 형규가 [솔로] >> [커플] 로 변경되었습니다

 

보통은 서비스 앞단에 프록시 서버로 cloudflare를 둬서 불필요한, 또는 공격적인 트래픽을 막는다.

 

 

 

* 참고

- CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조 -인프런

 

댓글