반응형
MVP 패턴 이란?
Unity에서 MVP(Model-View-Presenter) 패턴은 애플리케이션의 관심사를 Model, View, Presenter의 세 가지 주요 구성 요소로 분리하는 데 사용되는 디자인 패턴입니다. 이는 보다 모듈화되고 유지 관리 가능한 코드베이스를 달성하는 데 도움이 됩니다.
- 모델: 애플리케이션의 데이터 및 비즈니스 로직을 나타냅니다. 데이터를 보유하고 조작하여 발표자에게 변경 사항을 알립니다.
- 보기: 사용자 인터페이스를 나타내며 사용자에게 데이터를 표시하는 역할을 담당합니다. 수동적이며 발표자가 제공한 정보만 표시합니다.
- 프레젠터: 모델과 뷰 사이의 중개자 역할을 합니다. 여기에는 애플리케이션 로직이 포함되어 있고, 모델에서 데이터를 검색하고 그에 따라 뷰를 업데이트합니다. 또한 사용자 입력을 처리하고 사용자 작업에 따라 모델을 업데이트합니다.
- 코드 작성
// Model
public class CounterModel
{
private int count;
public int Count
{
get { return count; }
set { count = value; }
}
}
// View
public class CounterView : MonoBehaviour
{
public TextMeshProUGUI counterText;
public void UpdateCounterText(int count)
{
counterText.text = "Count: " + count.ToString();
}
}
// Presenter
public class CounterPresenter : MonoBehaviour
{
private CounterModel model;
private CounterView view;
private void Start()
{
model = new CounterModel();
view = GetComponent<CounterView>();
UpdateView();
}
public void IncrementCounter()
{
model.Count++;
UpdateView();
}
public void DecrementCounter()
{
model.Count--;
UpdateView();
}
private void UpdateView()
{
view.UpdateCounterText(model.Count);
}
}
반응형