기존 MVC에서 파생된, Model과 View 간의 의존성이 없는 아키텍처 패턴이다.
MVP는 Model , View, Presenter로 구성돼 있다.
아키텍처는 MVP
이고 , Model
은 Recoil 과 ReactQuery로 이루어져있음.
Recoil은 전역상태관리를, React Query는 서버상태관리를 하며 서버와의 통신은 axios 라이브러리를 사용하여 Firebase 와 통신을 한다.
그리고 View
에서는 사용자 인터페이스를 표시하고 사용자 입력을 처리하기 위해서 React Router, React Hooks 등을 사용하고 있음.
View
단에서 이벤트 발생 시 Presenter
에서는 전달 된 이벤트들을 Model
과 상호작용 후에 다시 View
로 데이터를 전달 해 주는 구조이다. (1:1)