티스토리 뷰

CS/디자인 패턴

MVC, MVP, MVVM 패턴

longbeom 2022. 9. 14. 19:53

MVC 패턴(MVC Pattern)이란?

Model(모델), View(뷰), Controller(컨트롤러)로 이루어진 패턴이다.

애플리케이션의 구성 요소를 세 가지 역할로 구분하여 개발 프로세스에서 각각의 구성 요소에만 집중해서 개발할 수 있다.

 

MVC 패턴의 장단점

  • 장점
    • 재사용성과 확장성이 용이하다.
  • 단점
    • 애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해진다.

 

MVP 패턴(MVP Pattern)이란?

MVC 패턴으로부터 파생되었으며 MVC의 C가 Presenter(프레젠터)로 바뀐 패턴이다.

뷰와 프레젠터는 일대일 관계이기 때문에 MVC 패턴보다 더 강한 결합을 지닌다고 볼 수 있다.

 

MVVM 패턴(MVVM Pattern)이란?

MVC의 C가 View Model(뷰 모델)로 바뀐 패턴이다.

뷰 모델은 뷰를 더 추상화한 계층이며, MVC 패턴과 다르게 커맨드와 데이터 바인딩을 가진다.

 

MVVM 패턴의 장점

  • 뷰와 뷰 모델 사이의 양방향 데이터 바인딩을 지원한다.
  • UI를 별도의 코드 수정 없이 재사용할 수 있다.
  • 단위 테스트가 용이하다.

 

Reference