UIManager singleton remove에 대한 이슈
기존 싱글톤 구현 복기
기존 UIManager는 Unity의 모든 UI를 캐싱, 및 관리하려고 하는 성격의 매니저로 구성하여 사용했었습니다.

기본 구성은 UI가 최상위 클래스이고 이 UI클래스는 열고 닫는다 라는 기본 UI의 개념을 가상함수로 구현하여 사용했습니다.

이런식으로 IUI라는 인터페이스를 두고 사용했었지만 실제 interface를 활용하여 사용한게 아니라
단순히 클래스에 꼭 필요한 기능이다. 라는 정도로만 정의한 것 같습니다.
그리고 이 UI클래스를 상속받는 Panel클래스가 있는데
Panel클래스는 Push와 Pop의 기능이 있습니다.
아이디어
UI는
- 연다.
- 닫는다.
- 열려있는지 상태를 확인한다.
- 해당하는 데이터를 업데이트 한다.
panel은 UI의 기본기능을 상속받는다.
- 푸쉬한다.
- 팝한다.
- 현재 열려있는 Panel이 뭔지 확인한다. -> 를 하려고 했으나 이걸 인터페이스 설계단에서 처리하는게 아닌거 같다는 생각이 들었습니다.
설계
interface IUI
{
void Open();
void Close();
bool IsOpen{ get; set; }
void UpdateUI();
}
interface IPanel : IUI
{
void Push();
void Pop();
}
궁금점
- IUI자체도 더 잘게 쪼개서 설계 할 수 있을까요?
- IPanel이 IUI를 상속받아 처리할 수 있을 것 같아 저렇게 설계했는데 맞을까요?
UIManager singleton remove에 대한 이슈
기존 싱글톤 구현 복기
기존 UIManager는 Unity의 모든 UI를 캐싱, 및 관리하려고 하는 성격의 매니저로 구성하여 사용했었습니다.


기본 구성은 UI가 최상위 클래스이고 이 UI클래스는 열고 닫는다 라는 기본 UI의 개념을 가상함수로 구현하여 사용했습니다.
이런식으로 IUI라는 인터페이스를 두고 사용했었지만 실제 interface를 활용하여 사용한게 아니라
단순히 클래스에 꼭 필요한 기능이다. 라는 정도로만 정의한 것 같습니다.
그리고 이 UI클래스를 상속받는 Panel클래스가 있는데
Panel클래스는 Push와 Pop의 기능이 있습니다.
아이디어
UI는
panel은 UI의 기본기능을 상속받는다.
설계
궁금점