728x90
반응형
[Android] 안드로이드 디자인 패턴(1) - MVC 패턴
지금부터 안드로이드에서 주로 사용하는 디자인 패턴에 대해서 알아보도록 하자. 알아보기에 앞서 과연 디자인 패턴이란 것은 과연 무엇일까? ✅ 디자인 패턴(Design Pattern)이란? 디자인 패턴이란
dahoonkk.tistory.com
지난 글에서는 MVC 패턴에 대해서 알아보았다.
지금부터는 MVP 패턴에 대해서 간략하게 알아보도록 하자.
✅ MVP 패턴이란?
- MVP 패턴이란 Model, View, Presenter의 앞 글자를 따 지어졌다.
- MVP는 컨트롤러의 책임에 묶이지 않고도 View와 Activity가 자연스럽게 결합할 수 있도록 한다.
- MVP 패턴의 가장 큰 특징은 MVC 패턴과는 다르게 UI(View)와 비즈니스 로직(Model)을 분리하고, 서로 간에 상호작용을 다른 객체인 Presenter에게 준다는 것이다.
- 이러한 구조로 인해 Model과 View 서로 간의 영향, 즉 의존성을 최소화할 수 있다.
- MVP 패턴의 Model, View, Presenter의 기능 및 특징은 다음과 같다.
- Model
- 데이터를 관리한다.
- 비즈니스 로직을 수행한다.
- View 또는 Presenter와 같이 다른 요소에 대해 의존적이지 않고 독립적인 영역이다.
- View
- UI를 담당해 유저에게 보일 화면을 표현한다.
- 안드로이드에서는 대표적으로 Activity와 Fragment가 있다.
- 유저의 액션 및 액티피티의 라이프사이클 상태 변경을 주시해 Presenter에게 이를 보내는 역할을 한다.
- 이처럼 Presenter를 이용하여 데이터를 주고받기 때문에 Presenter에 의존적이다.
- UI를 담당해 유저에게 보일 화면을 표현한다.
- Presenter
- Model과 View를 연결하는 매개체이다.
- Controller와 유사해보이지만, View에 직접적으로 연결되는 대신에 Interface를 사용한다는 점에서 다르다.
- 뷰에게 표시할 내용만 전달하기 때문에 유저에게 어떤식으로 보여줄지는 View에서 정하게 된다.
- Model
✅ MVP 패턴의 장/단점
- MVP 패턴의 장점
- View와 Model 간의 의존성이 없다.
- 새로운 기능을 추가하거나 변경해야 하는 경우 관련 부분만 수정할 수 있기 때문에 확장성이 좋아진다.
- 또한, Unit Test가 수월하다.
- UI와 비즈니스 로직이 분리된다.
- UI, Data 파트를 나누어 해야 할 일이 명확해지고, 쉽고 빠른 코딩이 가능하다.ㄴ
- View와 Model 간의 의존성이 없다.
- MVP 패턴의 단점
- View와 Presenter가 1:1 관계이다.
- View가 많아지면 Presenter도 많아진다.
- 기능이 추가될수록 Presenter가 비대해질 수 있다.
- View와 Presenter가 1:1 관계이다.
728x90
반응형
'Studying > Android' 카테고리의 다른 글
[Android] 안드로이드 디자인 패턴(1) - MVC 패턴 (0) | 2023.08.02 |
---|---|
[Android] 안드로이드 액티비티 생명주기(Activity Lifecycle) (0) | 2023.05.19 |
[Android] 안드로이드 스튜디오 Room을 사용하여 로컬 데이터베이스에 데이터 저장하기 (0) | 2023.05.18 |
[Android] Android 기본 요소 - 4대 컴포넌트 (0) | 2023.05.15 |