태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

프록시 패턴 - Proxy in C++

Posted 2009/04/10 00:02


댓글 하나가 운영자에겐 커다란 힘이 됩니다!

객체를 사용하는 시점까지 생성과 초기화에 드는 비용 및 시간을 절약하기위해, 다른 객체에 접근하여 중간 대리 역할을 하는 객체를 만드는 패턴.  예) 객체의 생성이 완료되기 이전에 이 객체를 가상으로 사용할 수 있는 방법을 제공하여, 실제 객체가 필요한 경우만 proxy를 생성하여 부하를 최소화 하는데, 외부에서는 실행되는 진짜 객체가 보이지 않는다.

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

  1. Design an “extra level of indirection” wrapper class
  2. The wrapper class holds a pointer to the real class
  3. The pointer is initialized to null
  4. When a request comes in, the real object is created “on first use” (aka lazy intialization)
  5. 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

위의 정보가 도움이 되셨나요? 그렇다면 댓글 하나만 남겨주세요.
댓글 하나가 운영자에겐 커다란 힘이 됩니다!

Write your message and submit
« PREV : 1 : ... 58 : 59 : 60 : 61 : 62 : 63 : 64 : 65 : 66 : ... 431 : NEXT »