Proxy Pattern
목적
•
접근 제어
◦
다른 개체에 대한 접근을 제어하기 위한 대리자
흐름
Client → Subject (Inteface) → Subject Implement
Decorator Pattern
목적
•
부가기능 추가
◦
객체에 추가 책임(기능)을 동적으로 추가, 기능 확장을 위한 유연한 대안 제공
흐름
Client → timeDecorator → messageDecorator → realComponent
Proxy Pattern vs Decorator Pattern
프록시를 사용하고 해당 프록시가 접근 제어 목적이라면 프록시 패턴이고, 새로운 기능을 추가하는 것이 목적이라면 데코레이터패턴이 된다.