Jeonguk Lee

I am java developer.

Flyweight-pattern-in-java

13 Feb 2018 » java, language

Flyweight Pattern in Java

  • 이 패턴은 메모리 사용량을 줄이기 위해 사용됩니다. 또한 객체 인스턴스화가 많은 응용 프로그램에서 성능을 향상시킬 수 있습니다.

  • 간단히 말해서, 플라이급 패턴은 생성 된 객체를 생성 후 저장하여 재활용하는 팩토리를 기반으로합니다. 객체가 요청 될 때마다 팩토리는 객체가 이미 만들어 졌는지 확인하기 위해 객체를 찾습니다. 있는 경우 기존 객체가 반환되고 그렇지 않으면 새 객체가 만들어져 저장되고 반환됩니다

  • flyweight 객체의 상태는 다른 유사한 객체 (내장)와 공유되는 불변 구성 요소와 클라이언트 코드 (외부)에 의해 조작 될 수있는 변형 구성 요소로 구성됩니다.

  • flyweight 오브젝트가 변경 불가능한 것은 매우 중요합니다. 상태에 대한 조작은 factory 에서 수행해야합니다.

Implementation

  • 패턴의 주요 요소는 다음과 같습니다.
    • flyweight 오브젝트에서 클라이언트 코드가 수행 할 수있는 연산을 정의하는 인터페이스
    • 인터페이스의 하나 이상의 구체적인 구현
    • 객체 인스턴스화 및 캐싱을 처리하는 팩토리