디자인패턴 - MVC / MVP / MVVM 패턴

ROCKBELL·2022년 11월 11일
0

MVC (Model-View-controller) 패턴

모델,뷰,컨트롤러 세가지 역할로 구분하여 각각의 요소에 집중해서 개발이 가능한 패턴입니다. 재사용과 확장성이 용이하나 애플리캐이션이 복잡해질수록 관게도 복잡해집니다 (뷰와 모델의 의존성이 높아짐)
대표적인 MVC패턴 예시로는 리액트 라이브러리가 있습니다

  • 모델 : 애플리케이션에 사용되는 데이터, 상수, 변수 등의 처리를 하는 부분 (데이터베이스)
  • 뷰 : input, textarea 등 사용자 인터페이스 요소 (UI)
  • 컨트롤러 : 모델과 뷰를 연결하는 역할을 하며 이벤트(Action)가 발생하면 각 요소에게 알림 전달, 컨트롤러는 여러개의 뷰를 선택할 수 있으며 뷰를 직접 업데이트 하지 않습니다

MVP (Model-View-Presenter) 패턴

기존의 MVC 페탠에서 컨트롤러 대신 프레젠터로 교체된 패턴입니다
MVC와 다르게 일대일 관계이기 때문에 강한 결합을 지닌 디자인 패턴입니다

  • 프레젠터 : 뷰에서 요청받은 정보로 모델을 가공하여 뷰에게 전달

MVVM (Model-View-View Model) 패턴

기존의 MVC 페탠에서 컨트롤러 대신 View Model 로 바뀐 패턴입니다
대표적인 MVVM패턴 예시로는 뷰 프레임워크가 있습니다

  • 뷰모델 : 뷰를 더 추상화한 개념이며, 커맨드와 데이터 바인딩을 지원합니다
  • 커맨드 : 여러가지처리를 하나의 액션으로 처리하는 기법
  • 데이터바인딩 : 화면의 보이는 데이터와 메모리상의 데이터를 일치시키는 기법 (양방향)

참조 URL : https://beomy.tistory.com/43

profile
luv it

0개의 댓글