Frontend

[디자인 패턴] MVC, MVP, MVVC

얌얌념념 2022. 5. 15. 14:57

https://beomy.tistory.com/43

 

MVC

  • Model : 어플리케이션에서 사용되는 데이터와 그 데이터를 처리하는 부분
  • View : 사용자에게 보여지는 UI 부분
  • Controller : 사용자의 입력(Action, Request)을 받고 처리하는 부분

동작

  1. 사용자의 Action이 Controller로 들어온다.
  2. Controller는 사용자의 Action을 확인하고 Model을 업데이트한다.
  3. Controller는 Model을 나타내 줄 View를 선택한다.
  4. View는 전달받은 Model을 화면에 나타낸다.

MVP

  • Model : 어플리케이션에서 사용되는 데이터와 그 데이터를 처리하는 부분
  • View : 사용자에게 보여지는 UI 부분
  • Presenter : View에서 요청한 정보로 Model을 가용하여 View에게 전달해주는 부분. View와 Model을 붙여주는 역할..

동작

  1. 사용자의 Action이 View를 통해 들어온다.
  2. View는 데이터를 Presenter에 요청한다.
  3. Presenter는 Model에게 데이터를 요청한다.
  4. Model은 Presenter에게 요청받은 데이터를 응답해준다.
  5. Presenter는 View에게 데이터를 응답한다.
  6. View는 Presenter가 응답한 데이터를 화면에 뿌린다.

MVVC

  • Model : 어플리케이션에서 사용되는 데이터와 그 데이터를 처리하는 부분
  • View : 사용자에게 보여지는 UI 부분
  • ViewModel : View를 표현하기 위해 만든 View를 위한 Mdoel. View를 나타내주기 위한 Model 및 데이터 처리를 하는 부분

동작

  1. 사용자의 Action이 View를 통해 들어온다.
  2. View에 Action이 들어오면 Command 패턴으로 ViewModel에 Action을 전달한다.
  3. ViewModel은 Model에게 데이터를 요청한다.
  4. Model은 ViewModel에게 요청받은 데이터를 응답한다.
  5. ViewModel은 응답받은 데이터를 가공하여 저장한다.
  6. View는 ViewModel과 Data Binding하여 화면에 나타낸다.