프록시 패턴 - Proxy in C++
Posted 2009/04/10 00:02|
|
|
댓글 하나가 운영자에겐 커다란 힘이 됩니다!
객체를 사용하는 시점까지 생성과 초기화에 드는 비용 및 시간을 절약하기위해, 다른 객체에 접근하여 중간 대리 역할을 하는 객체를 만드는 패턴. 예) 객체의 생성이 완료되기 이전에 이 객체를 가상으로 사용할 수 있는 방법을 제공하여, 실제 객체가 필요한 경우만 proxy를 생성하여 부하를 최소화 하는데, 외부에서는 실행되는 진짜 객체가 보이지 않는다.Before
After
Before
Direct coupling, lots of start-up and shut-down overhead.
$$ ctor: 1
$$ ctor: 2
$$ ctor: 3
$$ ctor: 4
$$ ctor: 5
Exit[0], Image[1-5]: 2
drawing image 2
Exit[0], Image[1-5]: 4
drawing image 4
Exit[0], Image[1-5]: 2
drawing image 2
Exit[0], Image[1-5]: 0
dtor: 5
dtor: 4
dtor: 3
dtor: 2
dtor: 1
After
Initialization on first use
- Design an “extra level of indirection” wrapper class
- The wrapper class holds a pointer to the real class
- The pointer is initialized to null
- When a request comes in, the real object is created “on first use” (aka lazy intialization)
- The request is always delegated
Exit[0], Image[1-5]: 2
$$ ctor: 2
drawing image 2
Exit[0], Image[1-5]: 4
$$ ctor: 4
drawing image 4
Exit[0], Image[1-5]: 2
drawing image 2
Exit[0], Image[1-5]: 0
dtor: 4
dtor: 2
출처 : http://sourcemaking.com/design_patterns
http://softrami.tistory.com/entry/Design-Patterns-Proxy-Pattern
http://softrami.tistory.com/entry/Design-Patterns-Proxy-Pattern
위의 정보가 도움이 되셨나요? 그렇다면 댓글 하나만 남겨주세요.
댓글 하나가 운영자에겐 커다란 힘이 됩니다!
- Filed under : 프로그래밍/Design Patterns
- Comment Trackback

