개발 도중 외부에서 접근해서 데이터나 객체를 가져와야되는 경우가 있는데

이렇게 될 경우 해당 매니저는 이 기능이 필요없는데 이 기능을 참조해서 가지고 있어야되는경우가 종종 생긴다.

 

ex) EnemyManager는 적만 관리/생성 하는 클래스인데 아이템드랍,적 파괴시 이펙트 효과 등 이벤트를 적용시키려다 보니 ItemManager와 EffectManager가 참조 되있는 경우

 

이런 경우를 대처하기위해 첫 설계를 잘해야되는데 어떡해 해야 되는가에 대한 정리이다.

해당 캠프 진행중 튜터님과의 면담으로 답변 받은것을 정리한 내용이다.

 

1.해당 Scene에서 사용되는 Data의 중간다리 역할을 해주는 Class를 만들어서 사용한다.

이 방법은 Scene 이동시에도 싱글톤 패턴을 사용하면 매우 효과적이며 의존관계가 아닌 연관관계로 멤버변수로 필요한 class들을 가지는 방법이다. 

 

2.이 방법은 해당 기능을 따로 class로 만들고 데이터를 보관하고 있는 컨테이너 클래스로 만들어 필요할떄마다 해당 클래스를 호출하여 쓰는 방법이다. 예시로 SpawnManager로 객체들을 생성하는 기능을 하나의 Class로 만들고 오브젝트 관리하는 Class를 만들어 해당 Class에서는 오브젝트 풀링처럼 객체의 data(prefab)만 꺼내서 전달해주는 방식이다. 

+ Recent posts