Skip to content

Latest commit

 

History

History
26 lines (22 loc) · 1.73 KB

16. Proxy Pattern Vs Flyweight Pattern.md

File metadata and controls

26 lines (22 loc) · 1.73 KB

날짜: 2023-07-07 17:46

주제: Proxy Pattern과 Flyweight Pattern의 차이


메모:

  1. Proxy 패턴
    • 객체에 대한 접근을 제어하는 데 사용됩니다.
    • Proxy는 실제 객체에 대한 참조를 가지고 있으며, 클라이언트가 실제 객체에 직접 접근하는 대신 Proxy를 통해 접근하게 합니다.
    • 이를 통해 Proxy는 실제 객체에 대한 접근을 제어하거나, 실제 객체의 동작을 수정하지 않고 추가적인 기능을 제공할 수 있습니다.
    • 예를 들어, 네트워크 연결, 메모리 집약적인 연산, 디스크 I/O 등의 비용이 많이 드는 연산을 지연시키거나, 접근 권한을 확인하는 등의 작업을 Proxy가 수행할 수 있습니다.
  2. Flyweight 패턴
    • 메모리 사용량을 최소화하기 위해 사용됩니다.
    • Flyweight 패턴은 대량의 유사한 객체를 생성해야 하는 경우에 유용하며, 이러한 객체들이 많은 공통 데이터를 공유할 수 있도록 합니다.
    • Flyweight 패턴은 객체의 내부 상태(공유되는 상태)와 외부 상태(고유한 상태)를 분리함으로써, 내부 상태가 같은 객체는 하나의 공유 객체를 사용하게 하여 메모리 사용량을 줄입니다. 따라서, Proxy 패턴과 Flyweight 패턴의 주요 차이점은 그들의 목적에 있습니다. Proxy 패턴은 객체에 대한 접근을 제어하고 추가적인 기능을 제공하는 데 사용되는 반면, Flyweight 패턴은 메모리 사용량을 최소화하는 데 사용됩니다.

출처(참고문헌)

연결문서

  • [[13. Proxy Pattern]]
  • [[12. Flyweight Pattern]]

Tag

  • #CS/Design_Patterns/Structural/Proxy
  • #CS/Design_Patterns/Structural/Flyweight