fly weight 패턴

김대익·2022년 3월 31일
0
post-thumbnail

다수의 객체 사용시 메모리 사용량을 줄여주는 패턴이다.


만약 강아지 객체 하나당 위와같은 메모리를 사용한다면
1000개의 강아지 객체만 만들어도 용량이 너무나 커질 것이다.

만약 모든 강아지 객체의 DNA가 동일하다면

하나의 DNA정보를 저장하고 모두 이 정보를 가리키도록 하면
메모리를 아낄 수 있을 것이다.



위와 같이 DNA정보를 인수로 받지않고 미리 저장해두면 Dog 객체간 공유된다.

다른 언어의 경우 static 변수로 저장한다.


만약 모든 강아지의 DNA정보가 같은 것이 아니라 같은 종들의 DNA만 같다면


종의 DNA 클래스를 만들고


addDNA함수로 종을 key로 하여 DNA_Table배열에 DogBreedDNA객체를 저장한다.

실행하는 과정을 보면

0개의 댓글