본문 바로가기

[내배캠] 본 캠프 개발 학습/매일매일 쓰는 TIL

11월 25일 월요일 본 캠프 개발 일지 | 프레임워크

📌

 

학습 내용 


1. 게임 매니저 관리 방식 


1. 게임 매니저 관리 방식 

 

개별 싱글톤 방식

 

 각 매니저를 하나의 싱글톤 클래스로 구현한다. 모든 매니저는 싱글톤 기반 클래스를 상속받아 특정 기능을 상속 및 재정의한다.

 특징

  • 개별 매니저는 독립적으로 작동하며, 서로 간섭하지 않는다.
  • 특정 매니저의 생명주기를 별도로 관리할 수 있다.

중재자 패턴 방식

 

 각 매니저는 인터페이스를 구현하여 초기화 및 주요 기능만 정의한다. 모든 매니저는 게임 매니저를 통해 생성 및 초기화되며, 게임 매니저가 매니저들의 중심 허브 역할을 한다.

 

 특징

  • 매니저들의 생명주기는 게임 매니저가 관리한다.
  • 모든 매니저가 동일한 초기화 절차를 따른다.

✅ 차이점 

[1] 속도

  • 개별 싱글톤 방식
    싱글톤 인스턴스 생성 및 접근 과정에서 추가적인 연산(조건문, null 체크 등)이 필요해 초기화 속도가 다소 느릴 수 있다.
  • 중재자 패턴
    게임 매니저에서 일괄적으로 매니저를 생성하고 초기화하기 때문에 초기화 과정이 더 빠르다.

[2] 메모리 관리

  • 개별 싱글톤 방식
    각 매니저는 별도의 메모리 주소에 할당되므로 메모리 파편화가 발생할 가능성이 높다.
  • 중재자 패턴
    모든 매니저의 메모리를 게임 매니저가 관리하기 때문에 메모리가 비교적 뭉쳐있어 효율적이다.

[3] 유지보수성 및 확장성

  • 개별 싱글톤 방식
    • 특정 매니저를 독립적으로 수정하거나 확장하기 쉬운 구조이다.
    • 그러나 매니저 간의 의존성이 높아질 경우 복잡도가 증가할 수 있다.
  • 중재자 패턴
    • 매니저 간 의존성을 최소화하고, 초기화 및 관리를 게임 매니저가 책임져 유지보수성이 높아진다.
    • 다만, 게임 매니저에 지나치게 많은 역할이 몰릴 경우 단일 책임 원칙을 위배할 수 있다.


 일어나서 프레임 워크 개념 추가 정리해야지!