컴퓨터/정보처리기사 SW 공학

| 니앙팽이 - 객체지향(OOP) | 4-5 | 구조패턴 - Flyweight pattern

객체지향

📕 4. 객체지향 디자인 패턴

유니티에서 사용하면 좋을 디자인 패턴만 명시한다.


📄 4. 구조 패턴

클래스나 객체를 조합하여 더 큰구조로 만드는 패턴


3). Flyweight Pattern

ⓐ 특징

  • 다수의 유사객체를 사용하거나 조작할떄 유용
  • 인스턴스가 필요할 때마다 매번 생성하는것이 아닌 가능한 공유를 통해 사용함으로 메모리를 절약하는 패턴
  • 인스턴시에이트를 많이 해야할때, 공유를 통해 오브젝트를 더 가볍게, 메모리를 절약할때 사용한다.

ⓑ 왜 쓰는건가?

  • 마인크래프트를 생각해보자 매~~~~~~우 많은 블럭들이 있을것이다. 이 마크에서는 텍스쳐를 플라이 웨이트방식으로 구현했다
  • 만약 스타같은 게임을 만든다할때. 유닛들은 같은 mesh, texture, maxhelth setting등등
    이 유닛들이 모두 단일 오브젝트를 받아 공유되게끔 만들수 있다.
  • 유니티에서도 이미 sharedMesh, sharedMaterial으로 구현되어 있다. 하나 바꾸면 다 바뀌게

ⓒ 구현

  • 모든 인스턴스에서 공유할 수 있는 데이터를 분할시킨다.
  • Storage 클래스를 만들어 공유데이터를 넣고, 불러오는 방식