유니티 디자인 패턴 MVP 간단 설명 및 간단 구현 Unity Design Pattern

반응형

MVP 패턴 이란?

Unity에서 MVP(Model-View-Presenter) 패턴은 애플리케이션의 관심사를 Model, View, Presenter의 세 가지 주요 구성 요소로 분리하는 데 사용되는 디자인 패턴입니다. 이는 보다 모듈화되고 유지 관리 가능한 코드베이스를 달성하는 데 도움이 됩니다.

 

  1. 모델: 애플리케이션의 데이터 및 비즈니스 로직을 나타냅니다. 데이터를 보유하고 조작하여 발표자에게 변경 사항을 알립니다.
  2. 보기: 사용자 인터페이스를 나타내며 사용자에게 데이터를 표시하는 역할을 담당합니다. 수동적이며 발표자가 제공한 정보만 표시합니다.
  3. 프레젠터: 모델과 뷰 사이의 중개자 역할을 합니다. 여기에는 애플리케이션 로직이 포함되어 있고, 모델에서 데이터를 검색하고 그에 따라 뷰를 업데이트합니다. 또한 사용자 입력을 처리하고 사용자 작업에 따라 모델을 업데이트합니다.

 

  • 코드 작성
// 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);
    }
}
반응형