[Unity] MVP 패턴을 사용한 인벤토리

현빈·2025년 4월 2일

MVP (Model View Presenter) 패턴은 모델과 뷰를 분리해서 모델과 뷰 사이의 의존성을 해소시키는 패턴 중 하나입니다.

model은 데이터를 처리하고 컨트롤하는 로직을 가지고 있습니다.

view는 유저 인터페이스를 담당합니다.

model이 바뀌면 model은 이벤트를 호출하고, 이벤트를 구독한 presenter는 view를 수정합니다.

view에 사용자 액션이 들어오면, 역시 특정 이벤트를 호출하고, 이벤트를 구독한 presenter은 model을 수정합니다.

Model

InventoryModel 클래스는 아이템 데이터들을 담는 배열을 가지고 있습니다.

값이 수정되면 이벤트를 호출합니다.

Model에서는 아이템 데이터들을 처리하는 로직을 담당합니다.

View

InventoryView 클래스는 UI로직만을 담당합니다.

Model이나 Presenter와 관련된 참조는 없고 특정 버튼이 눌리거나 아이템 스왑 액션을 했을 때 이벤트만 호출해 줍니다.

Presenter

presenter은 model과 view의 이벤트를 수신하고 모델과 뷰를 수정해주는 역할을 담당합니다.

MVP패턴을 통해 유니티에서 인벤토리를 구현해 보았는데, 각각의 클래스 간 역할이 명확하고 model과 view가 서로 의존성이 없어 유지보수에 장점이 있어 보입니다.

0개의 댓글