호진방 블로그
학습

mvc, mvm, mvvm 패턴 이해하기

# mvc, mvm, mvvm 패턴에 대해 알아볼까요?

2024년 01월 12일

개요

소프트웨어 개발에서 사용되는 디자인 패턴은 애플리케이션의 구조와 유지보수성을 높이기 위해 일정한 규칙을 따르는 방식이다. 그 중에서 MVC, MVM, MVVM 패턴은 대표적인 아키텍처 패턴으로, 각각의 개념과 특징에 대해 알아보자


mvc 패턴

mvc 패턴은 가장 널리 사용되는 패턴 중 하나로, 애플리케이션을 세 가지 주요 구성 요소 Model, View, Controller로 나누어 관리한다.

Model : 어플리케이션에서 사용되는 데이터를 처리하는 부분으로 앱이 포함해야할 데이터가 무엇인지를 정의한다. 데이터가 변경되면 모델을 뷰에게 알린다.

View : 모델에 포함된 데이터를 이용하여 화면을 나타낸것으로 앱의 데이터를 보여주는 방식을 정의한다. 해당 데이터는 모델 또는 컨트롤러를 통해 받는다.

Controller : 사용자의 입력을 받아 처리하는 부분으로 Client로부터 응답을 받아 Model 또는 View를 업데이트 하거나, 데이터를 전달해주는 역할을 한다.

MVC 패턴의 장점

MVC패턴의 단점


mvm 패턴

MVM 패턴은 비교적 덜 알려져 있으며, 간단한 애플리케이션이나 소규모 프로젝트에서 자주 사용된다. 이 패턴은 구조적으로 MVC와 유사하지만 관리자(Manager)를 포함하여 뷰와 모델 간의 상호작용을 관리한다. mvm 패턴은 애플리케이션을 Model, View, Manager으로 세 가지 주요 구성 요소로 나누어 관리한다

Model (모델)

모델은 애플리케이션에서 사용되는 데이터를 처리하는 부분으로, 비즈니스 로직과 데이터를 관리한다. 데이터베이스와의 상호작용 및 데이터 조작을 처리한다

View (뷰)

뷰는 사용자 인터페이스(UI)를 나타내며, 모델에 포함된 데이터를 이용하여 화면을 구성한다. 뷰는 사용자가 볼 수 있게 데이터를 화면에 표시하고, 주로 모델 또는 매니저를 통해 데이터를 받는다.

Manager (매니저)

매니저는 애플리케이션의 로직을 처리하며 사용자의 입력을 받아서 모델을 업데이트하거나 뷰를 갱신하는 역할을 하며, 모델과 뷰 사이의 데이터 흐름을 조정한다.

MVM 패턴의 장점

MVM 패턴의 단점


mvvm 패턴

MVVM 패턴은 애플리케이션을 Model, View, ViewModel 세 가지 주요 구성 요소로 나누어 관리한다

Model (모델)

모델은 애플리케이션에서 사용되는 데이터를 처리하는 부분으로, 비즈니스 로직과 데이터를 관리한다. 데이터베이스와의 상호작용 및 데이터 조작을 처리한다.

View (뷰)

뷰는 사용자 인터페이스(UI)를 나타내며, ViewModel에서 제공되는 데이터를 화면에 바인딩한다. 사용자가 볼 수 있게 데이터를 시각화하고, UI 상호작용을 처리하는데, 일반적으로 XAML, HTML 같은 마크업 언어로 정의된다.

ViewModel (뷰모델)

뷰모델은 뷰와 모델 사이의 중간자 역할을 하며, 뷰가 필요로 하는 데이터를 준비하고 비즈니스 로직을 수행한다. 뷰모델은 뷰의 상태와 동작을 나타내며, 뷰와 모델 간의 데이터 바인딩을 관리한다.

MVVM 패턴의 장점

MVVM 패턴의 단점


me
@banhogu
안녕하세요 배움을 나누며 함께 전진하는 1년차 주니어 개발자 방호진입니다.