안드로이드 앱 개발의 디자인 패턴 3가지

subak96·2024년 1월 10일
0

앱 개발하다 보면 디자인 패턴이라고 들어봤을것이다. 흔히 MVVM을 많이 사용한다고 하니 MVVM을 많이 들어봤을 것이다.
MVVM 이외에도 MVP, MVC 가 있다.
오늘은 이 3가지에 대해 알아보도록하자.

MVC

MVC는 (Model-View-Controller)의 약자로
소프트웨어를 세 가지 구성 요소로 나누어 개발하는 방법을 제공하고 각각의 담당 및 기능은 다음과 같다

Model (모델):

  • 데이터와 비즈니스 로직을 담당합니다.
  • 사용자 인터페이스나 컨트롤러에 독립적입니다.
  • 데이터의 변경 및 업데이트를 처리하며, 관련된 뷰 또는 컨트롤러에 알립니다.

View (뷰):

  • 사용자에게 정보를 표시하는 역할을 합니다.
  • 사용자 인터페이스를 나타내며, 모델의 상태 변경에 따라 업데이트됩니다.
  • 사용자의 입력을 컨트롤러에 전달합니다.

Controller (컨트롤러):

  • 사용자의 입력을 받아 모델과 뷰를 조작합니다.
  • 모델의 변경을 감지하고, 변경 시 뷰에 알립니다.
  • 사용자의 입력을 해석하고, 모델의 업데이트를 처리합니다.

MVP

MVP는 (Model-View-Presenter) 의 약자이며, MVC 패턴을 기반으로 한 패턴으로, 컨트롤러의 역할을 뷰와 프레젠터로 나누어 개발하는 디자인 패턴이다. 각각의 담당과 기능은 다음과 같다.

Model (모델):

  • 데이터와 비즈니스 로직을 담당합니다.

View (뷰):

  • 사용자에게 정보를 표시하는 역할을 합니다.
  • 사용자의 입력을 감지하고, 프레젠터에 전달합니다.
  • 모델의 상태 변경에 따라 업데이트됩니다.

Presenter (프레젠터):

  • 사용자의 입력을 받아 모델을 업데이트하고, 뷰를 갱신합니다.
  • 모델과 뷰 사이의 중간자 역할을 합니다.
  • 뷰와 직접 통신하며, 뷰를 업데이트하고 사용자 입력을 처리합니다.

MVVM

MVVM은 모델,뷰,뷰모델이라는 세 가지 주요 구성 요소로 이루어진 아키텍처 패턴이다. 각각의 담당과 기능은 다음과 같다.

Model (모델):

  • 데이터와 비즈니스 로직을 담당합니다.

View (뷰):

  • 사용자에게 정보를 표시하는 역할을 합니다.
  • 사용자의 입력을 뷰모델에 전달합니다.

ViewModel (뷰모델):

  • 뷰와 모델 간의 통신을 중개합니다.
  • 뷰에 표시할 데이터를 가지고 있으며, 사용자의 입력을 처리합니다.
  • 뷰의 상태와 동작을 관리하며, 데이터 바인딩을 통해 뷰와 바인딩됩니다.
  • 비즈니스 로직을 처리하고 뷰에 필요한 데이터를 가공하여 제공합니다.

MVVM은 데이터 바인딩과 함께 사용되어, 모델과 뷰 사이에 뷰모델을 두고 양방향 데이터 바인딩을 통해 뷰의 상태를 자동으로 업데이트하는 특징을 가지고 있다.

0개의 댓글