728x90
디자인 패턴에 대해 무지하고 있던 앞날의 저를 반성합니다.
MVP 패턴을 사용해 코드의 가독성 및 의존성을 최소화 한 결과.. 진짜 아름다운 코드가 되었다고 느낀다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class 타이틀 : 유아이
{
유아이들
bool _isLoaded = false;
public override bool Init()
{
...
}
public void ReadyToStart()
{
_isLoaded = true;
//시작 처리 변수 어쩌고..
}
public void GuestLogin()
{
...
}
public void GoogleLogin()
{
...
}
public void OnShowLoadingPopup()
{
...
}
public void DisableTitleObject()
{
...
}
}
예전에는 이렇게 그냥 Model View Presenter? 그런거 잘 모르겠고 때려박았다..
기능을 MVP 패턴을 준수하면서 변경을 했더니 위와 같은 코드가
진짜로 깔끔해졌다.. 개발 속도도 향상되었다고 생각한다.
public class LoadingPopupModel
{
public const float BIRD_TWEEN_TIME = 2f;
public const float BG_TWEEN_TIME = 0.5f;
public float totalTasks = 0;
public float completedTasks = 0;
}
대충 로딩 팝업 모델..
public class LoadingPopupPresenter
{
public float birdTweenTime => LoadingPopupModel.BIRD_TWEEN_TIME;
public float bgTweenTime => LoadingPopupModel.BG_TWEEN_TIME;
public float progressToBirdPercent(float number) => number / 100;
public float birdPercentToLoadingPercent(float number) => -243f + 486f * (number / 100);
}
의존성을 줄이니까 어디에서 어떻게 개발을 해야할지 이제는 확실하게 알 수 있었다..
사람은 이래서 공부를 해야한다.. 게임 개발 할때는 그냥 툴이랑 언어지식이 매우 중요하다고 생각했는데
이번에 JAVA 백엔드를 기초부터 공부하면서
변수명 / 의존성 / CS / 등등.. 제대로 배우니까
코드가 확 달라 보인다.
Spring에서 배운 대로 MVC 패턴을 사용해 볼까? 했는데 유니티는 MVP 패턴을 주로 많이 사용한다고 한다.
아무래도 View의 관계성에서 많은 차이가 있기 때문에.. Web의 경우는 1:n 관계로 많이 쓰는데
게임의 경우는 1:1 관계로 사용하다 보니까 이해가 가기 시작한다.
CS공부 꾸준히 하자..
실습이 가능한 CS는 꼭 실습해 보기로..!
Comment