[Today I Learned]mvp 패턴적용

suwoncityboyyy·2023년 2월 25일
0

MVP란 무엇인가

기존 MVC에서 파생된, Model과 View 간의 의존성이 없는 아키텍처 패턴이다.
MVP는 Model , View, Presenter로 구성돼 있다.

특징

  • 모든 입력(input,event)들은 View로 전달이 된다.
  • Presenter는 입력에 해당하는 Model을 업데이트한다.(다리역할)
  • Model 업데이트 결과를 기반으로 View를 업데이트한다.
  • Presenter는 해당 View를 참조하고 있다. (1:1 관계)
  • Presenter는 View 와 Model 인스턴스를 가지고, Model과 View 사이의 매개체 역할을 한다.

MVP를 적용해본 최종프로젝트 아키텍처 구조

아키텍처는 MVP 이고 , Model은 Recoil 과 ReactQuery로 이루어져있음.
Recoil은 전역상태관리를, React Query는 서버상태관리를 하며 서버와의 통신은 axios 라이브러리를 사용하여 Firebase 와 통신을 한다.

그리고 View 에서는 사용자 인터페이스를 표시하고 사용자 입력을 처리하기 위해서 React Router, React Hooks 등을 사용하고 있음.
View 단에서 이벤트 발생 시 Presenter 에서는 전달 된 이벤트들을 Model과 상호작용 후에 다시 View 로 데이터를 전달 해 주는 구조이다. (1:1)

profile
주니어 개발자 기술노트

0개의 댓글