[디자인 패턴] Proxy Pattern Vs Flyweight Pattern

전성훈·2023년 11월 8일
0

DesignPattern

목록 보기
15/18
post-thumbnail

주제: Proxy Pattern과 Flyweight Pattern의 차이


Proxy 패턴

  • 객체에 대한 접근을 제어하는 데 사용됩니다.
  • Proxy는 실제 객체에 대한 참조를 가지고 있으며, 클라이언트가 실제 객체에 직접 접근하는 대신 Proxy를 통해 접근하게 합니다.
  • 이를 통해 Proxy는 실제 객체에 대한 접근을 제어하거나, 실제 객체의 동작을 수정하지 않고 추가적인 기능을 제공할 수 있습니다.
    • 예를 들어, 네트워크 연결, 메모리 집약적인 연산, 디스크 I/O 등의 비용이 많이 드는 연산을 지연시키거나, 접근 권한을 확인하는 등의 작업을 Proxy가 수행할 수 있습니다.

Flyweight 패턴

  • 메모리 사용량을 최소화하기 위해 사용됩니다.
  • Flyweight 패턴은 대량의 유사한 객체를 생성해야 하는 경우에 유용하며, 이러한 객체들이 많은 공통 데이터를 공유할 수 있도록 합니다.
    • Flyweight 패턴은 객체의 내부 상태(공유되는 상태)와 외부 상태(고유한 상태)를 분리함으로써, 내부 상태가 같은 객체는 하나의 공유 객체를 사용하게 하여 메모리 사용량을 줄입니다.

결론

따라서, Proxy 패턴과 Flyweight 패턴의 주요 차이점은 그들의 목적에 있습니다. Proxy 패턴은 객체에 대한 접근을 제어하고 추가적인 기능을 제공하는 데 사용되는 반면, Flyweight 패턴은 메모리 사용량을 최소화하는 데 사용됩니다.

제가 학습한 내용을 요약하여 정리한 것입니다. 내용에 오류가 있을 수 있으며, 어떠한 피드백도 감사히 받겠습니다.

감사합니다

0개의 댓글