목록2024/11/30 (2)
게임 개발 로그
'유니티로 배우는 게임 디자인 패턴' 책을 베이스로 하여 코드 구조를 바꿔 봤습니다. 옵저버 패턴이란? 옵저버 패턴이란 한 오브젝트가 주체 역할이고, 다른 오브젝트들이 관찰자 역할을 하여 일대다 관계를 형성하는 패턴이다. 이벤트 버스 패턴과 비슷한 면이 있으나 이벤트버스는 다대다 관계라는 점에서 차이가 있다. 옵저버 패턴의 장점역동성: 주체에 필요한 만큼의 객체를 관찰자로 추가할 수 있고, 동적으로 제거할 수도 있다.일대다: 객체 하나에 여러 이벤트를 처리할 수 있는 일대다 관계 이벤트 처리 시스템을 구현할 수 있다. 옵저버 패턴의 단점무질서: 관찰자가 알람을 받는 순서를 보장하지 않는다. 관찰자가 이벤트를 받는 것에 순서가 있다면 기본 형태의 옵저버 패턴은 적합하지 않다.누수: 주체는 ..
'유니티로 배우는 게임 디자인 패턴' 책을 베이스로 하여 코드 구조를 바꿔 봤습니다. 오브젝트 풀이란? 오브젝트 풀 패턴은 자주 사용하는 오브젝트를 위해 일부 메모리를 '예약'하는 방법을 말한다. 오브젝트의 생성/삭제를 반복하지 않고, 풀에서 꺼냈다가 다시 집어넣는 형식이다. 이것은 새로운 인스턴스를 생성하는 초기화 비용을 아끼고, 가비지 컬렉터의 부하를 줄여 렉을 줄이는 것에 도움이 된다. 클라이언트가 특정 오브젝트의 인스턴스를 오브젝트 풀에 요청하면, 풀에서 해당 인스턴스를 "제거"하고 클라이언트에게 넘겨준다. 만약 풀이 없다면 새로운 오브젝트를 생성해서 넘겨준다. 클라이언트에서 해당 인스턴스가 필요없어지면 오브젝트는 풀로 돌아가는데, 풀에 공간이 없다면 해당 오브젝트 인스턴스는 파괴된다. ..