Proxy 패턴

2022. 9. 12. 00:42·디자인 패턴

구조패턴(Structual Patterns)

클래스나 객체를 조합해 더 큰 구조를 만드는 패턴


프록시 패턴

❤구조 패턴 중 하나

❤이미 존재하는 객체의 흐름을 제어하고자 할 때 사용

  • (예시)객체 생성 카운팅
  • 긴 시간이 필요한 작업에 대한 사전 처리
  • 지연로딩

장점

❤사이즈가 큰 객체(ex:이미지, 동영상)가 로딩되기 전에도 프록시를 통해 참조를 할 수 있다.

❤실제 객체의 public, protected 메소드들을 숨기고 인터페이스를 통해 노출시킬수있다.

❤로컬에 있지 않고 떨어져 있는 객체를 사용할 수 있다.

❤기존 객체에 대한 수정 없이, 원래 객체의 접근에 대해서 사전처리를 할 수 있다.

❤구조나 코드 구현이 간단하다

단점

❤객체를 생성할때 한단계를 거치게 되므로, 빈번한 객체 생성이 필요한 경우 성능이 저하될 수 있다.

❤프록시 내부에서 객체 생성을 위해 스레드가 생성, 동기화가 구현되야하는 경우 성능이 저하될 수 있다.

❤로직이 난해해져 가독성이 떨어질 수 있다.


디자인 패턴 테이블

❤subject

→ Proxy와 RealSubject가 구현해야하는 인터페이스

→ 두 객체를 동일하게 다루기 위해 존재

❤Proxy

→ RealSubject와 Client 요청 사이에 존재하는 객체

→ Subject를 구현함으로써 클라이언트는 RealSubject를 사용하는 것과 별 차이가 없어야한다.

❤RealSubject

→ 실질적으로 요청에 대해 주된 기능을 수행하는 객체

→ Proxy 객체는 내부적으로 이 객체를 로직에 맞게 사용한다.(위임)


C++ 구현코드

 

'디자인 패턴' 카테고리의 다른 글

Abstract Factory 패턴  (0) 2022.09.12
Factory 패턴  (0) 2022.09.12
인터페이스  (0) 2022.09.12
Adapter 패턴  (0) 2022.09.12
UML  (0) 2022.09.12
'디자인 패턴' 카테고리의 다른 글
  • Factory 패턴
  • 인터페이스
  • Adapter 패턴
  • UML
가든_
가든_
  • 가든_
    Code Garden
    가든_
  • 전체
    오늘
    어제
    • 글 목록 (60)
      • 프로그래밍 언어 (11)
        • JAVA (0)
        • C++ (2)
        • C# (9)
      • 개발툴 (24)
        • Visual Studio (0)
        • Visual Studio Code (1)
        • Eclipse (1)
        • Unity (19)
        • Unreal (0)
        • Spring (1)
        • SpringBoot (0)
        • Vue (2)
      • 디자인 패턴 (6)
      • 백엔드 (4)
        • MySQL (1)
        • Servlet (3)
      • 프론트엔드 (4)
        • HTML (3)
        • CSS (0)
        • Javascript (1)
      • 알고리즘 (10)
        • 공식 (3)
        • 백준 (6)
        • SW Expert Academy (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    RDBM
    SetTile
    Reflex
    Adapter 패턴
    상태공간트리
    c#
    클래스 어댑터
    Factory 패턴
    ()=>
    구조적 UML 다이어그램
    스택
    런타임 상수
    Java
    Proxy 패턴
    오브젝터 어댑터
    Abstract Factory 패턴
    Adaptee
    12738
    MVC
    구조패턴
    HTML
    Unity
    chatGPT
    UniRX
    컴파일 상수
    행동 UML 다이어그램
    다이어그램 그리기
    swea2112
    DI
    FixedUpdate
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
가든_
Proxy 패턴
상단으로

티스토리툴바