개발 조각글

Unity Refactoring - 달팽이키우기 클래스간 관계

BaekNohing 2022. 8. 4. 00:24

a cute cat snail

달팽이 키우기 리팩토링 목차

  1. 리팩토링 준비
  2. 구조 재설계
  3. UI Manager 설계
  4. 클래스간 관계
  5. Action 분리하기
  6. 핵심루프 설계
  7. 유닛 테스트

Unity Refactoring - 달팽이키우기 클래스간 관계


지난번의 설계에서 UI의 전역상태를 없앴다! 이제 ui들은 uiManager가 붙어있는 오브젝트에서 직접 관리된다.  static은 확실히 편리한 부분이 있지만.. 함수형처럼 확실하게 인풋/아웃풋이 정헤진게 아닌 요소들을 전역에 넣어서 아무때나 접근 가능하게 하는 것은 아직도 역시 조심스럽다.

기능들을 호출할 때, 상황에 따른 Action들을 ActionManager 클래스내부 리스트에 전부 집어넣고, 키워드에 따라 일괄 호출하는 방식으로 사용하고 있는데. 이렇게 분리를 시켜놓으니, 어떤 클래스의 구조를 변경할 때, 다른 부분들을 손볼 필요가 없어서 편리하기는 하지만.. 내가 버튼을 누른다거나 하는 방식으로 어떤 기능을 호출할 때, 레이어가 하나 있다보니 어느 액션들이 어떻게 호출되는지 딱 직관적으로 알기 어려운 불편함이 있는 것 같다. 


구성 전 미리 한번 그려본 구조 스케치