상세 컨텐츠

본문 제목

Pattern(2) - MVP

Android/Pattern

by KDLiam 2023. 8. 30. 15:04

본문

MVP

[ Model - View - Presenter ]

 

 MVP(Mode-View-Presenter)는 소프트웨어 디자인 패턴 중 하나로, 애플리케이션의 코드를 모듈화하고 유지보수하기 쉽게 만드는 데 도움을 줍니다. MVP는 주로 안드로이드 앱 개발에서 사용되며, 앱의 다양한 부분을 분리하여 각각의 역할을 명확하게 정의합니다.

1. Model

  • Model은 애플리케이션의 데이터, 비즈니스 로직, 상태 등을 포함
  • 데이터를 관리하고 조작하는 역할을 수행하며, 데이터의 변경 사항을 View나 Presenter에 알림
  • 또한 DB나 Network 요청과 같은 외부 리소스와의 상호 작용도 Model에 속함
  • 애플리케이션의 핵심 로직이 Model에서 처리
  • Model은 독립적으로 작동하여 재사용이 용이하며, 데이터 관리를 중심으로 구성됨

 

2. View

  • View는 사용자 인터페이스를 담당함
  • 안드로이드에서는 Activity나 Fragment와 같은 컴포넌트가 View의 역할을 수행함
  • View는 사용자와의 상호 작용을 처리하고 화면에 정보를 표시하는 역할
  • MVP에서는 View가 MVC의 Controller 역할을 담당
  • View는 단순한 UI만을 처리하며, 실제적인 데이터나 비즈니스 로직과는 분리되어 있음

 

3. Presenter

  • Presenter는 Model과 상호 작용하면서 View에 UI 갱신 요청을 함
  • Presenter는 View에 갱신에 필요한 정보를 전달하며, 실제적인 갱신 작업은 View에서 이루어짐
  • 이로써 View와 Model이 분리되어 있어서 재사용이 용이하고 테스트하기도 편리해짐
  • MVP에서 Presenter는 중재자 역할을 하며, 애플리케이션의 비즈니스 로직과 UI 요소 간의 상호 작용을 관리함

 

 

(종속성)

P -> V, M

V -> P

 

=> Presenter에 많은 코드가 쌓임

 

 

 

[ 참고 사이트 ]

https://brunch.co.kr/@mystoryg/171

 

안드로이드 MVP

아키텍처 패턴 | MVC에 이어서 살펴볼 아키텍처 패턴은 MVP이다. 안드로이드에서 MVP는 MVC와 유사한 형태를 갖는다. 구조적으로는 비슷하게 보일 수 있으나 각각의 역할에 변화가 있고 그로 인해

brunch.co.kr

* 정리가 너무 잘되있어서 이해하기 편합니다!

 

 

[ Source Code ]

https://github.com/Android-Liam/studyMap/tree/main/exampleCode/04_patternmvp

'Android > Pattern' 카테고리의 다른 글

Pattern(1) - MVC  (0) 2023.08.29

관련글 더보기