목록Design Pattern (2)
승쨩개발공부
오브젝트 풀 객체를 매번 할당, 해제하지 않고 고정 크기 풀에 들어있는 객체를 재사용함으로써 메모리 성능을 개선한다. 해제하지 않는데 어떻게 메모리 사용 성능이 개선된다는걸까? 게임에는 총을쏘거나 마법을쓰거나 검을 휘두를떄 빛이 생성이된다. 이 빛은 파티클 시스템이 필요하다. 검을 몇번 휘두르는것만 해도 수많은 파티클이 생성이되야한다. 그렇기에 이 파티클을 굉장히 빠르게 만들 수 있어야 한다. 더욱 중요한것은 파티클을 생성, 제거하는 과정에 메모리 단편화가 생겨서는 안 된다는 점 이다. 단편화를 막으면서도 메모리 할당 속도 떄문에 메모리를 언제 어떻게 관리할 지를 엄청 신경써야 한다. 이러한 문제는 게임이 실행될 떄 메모리를 미리 크게 잡아놓고 끝날 떄까지 들고 있는 것으로 해결할 수 있다. 하지만 이러..
싱글톤 패턴 -> 오직 한 개의 클래스 객체(instance)만을 갖도록 보장하고, 이에대한 전역적인 접근접을 제공 -> 쉽게 구현이 가능해서 자주 사용되는 디자인 패턴 중 하나로 계속 생성하여도 실제로 생성되는 객체는 하나가 된다. -> 최초 이후에 호출된 생성자는 최초의 객체를 리턴하는 방식. -> 공통적으로 쓰이는 자원을 관리, 저장하는 객체를 만들 떄 자주 사용됨. 예를들어 게임에서 PlayerObject 같은 단일 객체 일 경우 싱글턴 패턴을 사용하면 관리가 편해짐. 싱글톤 패턴 단점 -> 싱글톤 객체(instance)가 너무 많은 일을 해서 많은 데이터를 공유시킬 경우 다른 클래스의 인스턴스들 간의 결합도가 높아진다. -> 멀티스레드 환경에서 동기화 처리를 해줘야 한다. 동기화 처리를 하지 않..