반응형
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);
}
}
반응형
'개발 > Unity' 카테고리의 다른 글
유니티 템플릿 시스템 빠르게 프로토 타입 개발 에셋 추천 (0) | 2024.03.15 |
---|---|
유니티 Exception: Field currentActivity or type signature not found 해결법 (0) | 2024.03.14 |
이 App Bundle 아티팩트 유형은 네이티브 코드를 포함하며 아직 디버그 기호가 업로드되지 않았습니다. (0) | 2024.03.13 |
유니티 애드몹을 사용하여 Google Play 가족 정책 준수하기 Admob (0) | 2024.03.12 |
유니티 신규 앱은 Android 13(API 수준 33) 이상을 타겟팅해야 합니다. 해결법 (0) | 2024.02.14 |
유니티 인앱 결제 크랙, 우회 및 부정 결제 방지 방법 (0) | 2024.02.08 |
유니티 일부 앱이 Apple의 SKAdNetwork를 사용하도록 구성되지 않았습니다 해결법 (0) | 2024.02.07 |
유니티 구글 조치 필요: 앱이 Google Play 정책을 준수하지 않음 해결 방법 (0) | 2023.12.26 |
댓글