2023/03/13 2

[구조 패턴] 프록시 패턴(Proxy pattern)

의도 프록시 패턴은 다른 객체에 대한 대체 또는 자리 표시자를 제공할 수 있는 구조 디자인 패턴이다. 프록시 패턴은 어떤 객체에 대한 접근을 제어하기 위한 용도로 대리인이나 대변인에 해당하는 객체를 제공하는 패턴이다. 원래 객체에 대한 접근을 제어하므로 당신의 요청이 원래 객체에 전달되기 전 / 후에 무언가를 수행할 수 있도록 한다. 문제 상황 객체에 대한 접근을 제한하는 이유는 무엇일까? 방대한 양의 시스템 자원을 소비하는 거대한 자원이 있다고 가정하자. 이 객체는 필요할 때가 있기는 하지만 항상 필요한 것은 아니다. 필요할 때만 객체를 만들어서 초기화를 구현 가능하다. 그러면 객체의 모든 클라이언트들은 어떤 지연된 초기화 코드를 실행해야하는데 이는 많은 코드 중복을 초래한다. 이 코드를 객체의 클래스..

[구조 패턴] 퍼사드 패턴(Facade pattern)

퍼사드 패턴(Facade pattern, Singletone Abstract Factory, 싱글톤 추상 팩토리) GOF에 따르면 퍼사드 패턴은 "하위 시스템의 인터페이스 세트에 일관된 인터페이스를 제공하는 것" 하위 시스템의 복잡도를 감추는 동시에 그 전체 기능을 사용하기 쉬운 인터페이스로 제공한다. 실생활에서 퍼사드 패턴의 예시 세탁기 찌든 때, 에벌 빨래 두 가지 모드가 있다. 두 모드에 따라 세탁 방법이 다른다. 세제 투입량, 물 온도, 탈수시간 등등 위와 같은 잡다한 정보를 인터페이스 내부에 두고 두 가지 세탁 모드만 제공한다. 사용자는 복잡한 생각 없이 모드만 선택하면된다. 퍼사드 패턴을 쓰는 경우 레거시 백 엔드 시스템에 단일 접근 창구를 제공한다. 클래스에 드라이버 같은 API를 만든다. ..