[디자인 패턴] 플라이웨이트(Flyweight)

y30n9ju1v·2021년 9월 22일
0

프로그래밍

목록 보기
17/18

정의

플라이웨이트는 각 객체의 모든 데이터를 유지하는 대신 여러 객체 간에 공통 상태 부분을 공유하여 사용 가능한 RAM 양에 더 많은 객체를 맞출 수 있는 구조적 디자인 패턴입니다.

UML

장단점

  • 장점
    1. 프로그램에 유사한 개체가 많이 있다고 가정하면 많은 RAM을 절약할 수 있습니다.
  • 단점
    1. 누군가가 flyweight 메소드를 호출 할 때마다 컨텍스트 데이터의 일부를 재계산할 필요가있는 경우, CPU 사이클을 많이 사용하게 됩니다.
    2. 코드가 훨씬 더 복잡해집니다.
      새로운 팀원들은 항상 엔티티의 상태가 왜 그런 식으로 분리되었는지 궁금해 할 것입니다.

참고

0개의 댓글