객체들의 동일한 부분을 관리
조만한 객체마다 동일한 리소스등을 각각 가지고 있을때( 하지만 똑같은 정보 또는 다른 정보도 있다 각 객체마다)
동일한 것에 대해 메모리 낭비가 심하다
이를 해결 하기 위한 패턴
how?
객체마다 똑같은건 공유한다, 포인트 같은 걸로
다른것 extrinsic state 공유 불가능 한것
같은것 instrinsic state 공유 가능한 것
같은 것을 공유할 수 있도록 한다
공유되지 않는 것은 따로 객체로 가져가도록 한다
그래서 클래스 구조는?
검색되는 속도는 일반적인 것보다 느릴 수 있다 하지만
메모리는 일반적인 경우보단 절약 될 수 있다
계산에 의해 알오바야 함
composite 패턴의 경우 공유될 가능성이 많다
Flyweight 패턴을 써서 메모리가 줄어들지 않느다면 쓸 필욘 없다
객체가 공유되어지면 Client 에서는 이 객체들을 생성하면 좋지 않다 왜냐하면 메모리 공유 관리가 어려워지기 때문
싱글톤으로 이런 문제를 해결 해 볼 수도 있다
캐릭터의 동일한 bmp 파일을 Flyweight 패턴으로 공유해볼 수 있다
반응형
'디자인패턴과방법론 > 디자인패턴' 카테고리의 다른 글
Factory Method 패턴 (펙토리 패턴), 생성자에 인수를 넘기는 건 썩 좋지 못하다 (0) | 2012.11.02 |
---|---|
Proxy 패턴 (0) | 2012.11.02 |
Facade 패턴 (0) | 2012.11.02 |
Decorator(=wrapper) 패턴 (0) | 2012.11.02 |
composite 패턴 (0) | 2012.11.02 |