관리 메뉴

흰둥씨의 개발장

[디자인패턴] MVVM ~ Container-Presenter 본문

[오늘의 공부]/디자인패턴

[디자인패턴] MVVM ~ Container-Presenter

돈워리비해삐 2024. 1. 18. 01:51

MVVM패턴이란 ? 

MVC패턴에서 Model, View, Controller로 구성된 내용 중 
Controller가 View Model로 바뀌어 만들어진 패턴 

 

View Model이란?

View부분을 추상화 한 계층으로 
템플릿과 바인딩문법등을 사용해서 "선언적인 방식"을 취하여 
여러 처리에 대해 하나의 액션으로 처리함 

데이터 바인딩(뷰모델을 변경하면 뷰의 데이터도 변경되도록)처리도 해줌 



MVVM아키텍처를 사용하게된 이유? 
-> Controller부분이 너무 방대해지고, 반복되는 부분들이 많아짐 
-> 반복되는 부분은 미리 선언해두는 방식으로 개발하면 편하지 않을까?
-> 반복되는 부분을 선언적인 방식(ex. jsx와 같이 약속된 선언을 바탕으로 개발)으로 변경함
-> 앵귤러, React, Vue...등 생겨남
-> Controller가 DOM조작을 할 필요가 없어지면서 컨트롤러에서 View Model의 개념으로 변경됨



MVVM은 component를 조립하여 구성하는 패턴으로 발전함


-> 위 패턴은 비즈니스 로직을 가지는 container컴포넌트
-> 컨테이너 안에 - 데이터를 뿌리기 위한 Presenter컴포넌트로 구성하는 형태의 패턴 만들어짐 
-> 위와 같이 컴포넌트를 구성하는 패턴을 Container-presenter패턴이라고 함 

 

참고:
https://learn.microsoft.com/ko-kr/windows/uwp/data-binding/data-binding-and-mvvm

https://yozm.wishket.com/magazine/detail/1663/

https://product.kyobobook.co.kr/detail/S000001834833

 

 

'[오늘의 공부] > 디자인패턴' 카테고리의 다른 글

[디자인패턴] Flux 패턴  (2) 2024.01.25
[디자인패턴] MVC패턴  (0) 2024.01.16