2016년 4월 1일 금요일

Design Pattern Digest - 20. Flyweight

이글은 책 "Java언어로 배우는 디자인 패턴 입문"을 읽고 쓴 요약입니다. 
나만 이해하도록 불친절하게 작성되어 있습니다. 
자세한 내용은 책을 보세요. 


Flyweight



  • 객체를 재사용하는 (공유하는) 패턴.
  • Flyweight 클래스가 특정한 state/value에 대해서 하나의 instance가 재사용되어도 좋다면 FlyweightFactory 클래스가 이것들의 instance를 map같은데 관리하고 있다가 필요하다고 하는 곳에 제공해준다. 
  • FlyweightFactory는 싱글톤으로 구현하고 여기서 Flyweight들의 map을 가지고 있는데 key를 통해서 얻어올 수 있다. 만일 특정 key에대해 이미 생성된 Flyweight 인스턴스가 없다면 그때 만들어서 주면 된다. 
  • 책에는 ConcreteFlyweigth와 UnsharedConcreteFlyweight에 대한 언급은 없는데 중요한 부분은 아닌듯.



댓글 없음:

댓글 쓰기