객체들의 동일한 부분을 관리

 

조만한 객체마다 동일한 리소스등을 각각 가지고 있을때( 하지만 똑같은 정보 또는 다른 정보도 있다 각 객체마다)

 

동일한 것에 대해 메모리 낭비가 심하다

 

 

이를 해결 하기 위한 패턴

 

 

 

how?

 

객체마다  똑같은건 공유한다,  포인트 같은 걸로

다른것 extrinsic state 공유 불가능 한것

같은것 instrinsic state 공유 가능한 것

 

같은 것을 공유할 수 있도록 한다

 

공유되지 않는 것은 따로 객체로 가져가도록 한다

 

 

그래서 클래스 구조는?

 

 

검색되는 속도는 일반적인 것보다 느릴 수 있다 하지만

메모리는 일반적인 경우보단 절약 될 수 있다

계산에 의해 알오바야 함

 

composite 패턴의 경우 공유될 가능성이 많다

 

 

Flyweight 패턴을 써서 메모리가 줄어들지 않느다면 쓸 필욘 없다

 

 

객체가 공유되어지면 Client 에서는 이 객체들을 생성하면 좋지 않다 왜냐하면 메모리 공유 관리가 어려워지기 때문

 

싱글톤으로 이런 문제를 해결 해 볼 수도 있다

 

 

 

캐릭터의 동일한 bmp 파일을 Flyweight 패턴으로 공유해볼 수 있다

 

반응형

+ Recent posts