[Design Pattern] - MVC

jaehee kim·2021년 9월 6일
post-thumbnail

MVC?

유지보수가 편해지도록 애플리케이션을 3가지의 역할(Model, View, Controller) 로 구분하는 개발 방법론

MVC

Model : 데이터와 행동을 가지는 객체로 비즈니스 로직을 수행
View : Model에서 처리된 데이터를 받아서 시각화
Controller : Model과 View를 연결하며 데이터의 흐름을 제어



MVC의 흐름

  1. 유저가 필요한 기능에 대한 요청을 보낸다.
  2. Controller는 알맞은 Model에게 비즈니스 로직 수행을 맡긴다.
  3. Controller는 알맞는 View를 선택하고 데이터를 전달한다.
  4. 결과를 출력한다.


MVC를 지키면서 코딩하는 방법

  • Model은 Controller와 View에 의존하지 않아야한다.
    -> Model 내부에 Controller와 View와 관련된 코드가 있으면 안된다.

  • View는 Model에만 의존해야 하고, Controller에는 의존하면 안된다.
    -> View 내부에 Model의 코드만 있을 수 있고, Controller의 코드가 있으면 안된다.

  • View가 Model로부터 데이터를 받을 때는 사용자마다 다르게 보여주어야하는 데이터에 대해서만 받아야한다.

  • Controller는 Model 과 View에 의존해도 된다.
    -> Controller 내부에는 Model과 View의 코드가 있을 수 있다.

  • View가 Model로부터 데이터를 받을 때, 반드시 Controller에서 받아야한다.




Reference

[우아한 Tech]

0개의 댓글