MVC 패턴은 뭘까?

bicco2·2022년 11월 18일
0

MVC패턴은 디자인패턴 중 하나 (Model, View, Controller의 약자)

왜쓸까 ?

유지보수가 편해지는 코드 구성 방식이기 때문이다.

Model - View - Controller로 구성되어 있고, 프로젝트에 따라, 어떻게 정의하는지에 따라 각자의 역할이 조금씩 달라진다.

  • View : 화면의 구성(렌더링)을 담당한다.
  • Model : 상태(state)를 다룬다. 데이터이다.
    • 상태는 화면의 렌더링에 영향을 주는 변수이다.
    • 서버로부터 받은 데이터를 가공하는 역할을 수행할 수도 있다.
  • Controller : View와 Model 사이의 인터페이스(중개자) 역할, 비즈니스 로직과 이벤트를 처리하는 역할을 한다.

View와 Model의 결합도를 낮추기 위해 Controller라는 완충객체를 두었다.

이게 무슨 말이냐면

view와 model의 결합도가 높다는 것은 서로 연결성이 짙다는 것,

따라서 연결성을 낮추기 위해 Controller라는 객체를 생성해 그 결합성을 Controller에서 수행한다는 것이다.

mvc를 지키면서 하는 5가지 방법

  1. Model은 Controller와 View에 의존하지 않아야한다.
    (의존 = 즉 Model 내부에서 Controller와 View를 import 해서 사용하면 안되는 것 같다.)
  2. View는 Model에만 의존해야하고 Controller에 의존하면 안된다.
  3. View가 Model로부터 데이터를 받을때는 사용자마다 다르게 보여주어야하는 데이터에 대해서만 받아야한다.
  4. Controller는 Model과 View에 의존해도 된다.
  5. view가 model로부터 데이터를 받을 때 반드시 controller에서 받아야한다.

이러면 Controller에서 model과 view를 통해 로직을 수행하고 view에서 controller를 통해 수행된 model 데이터를 가져와서 보여주는 개념으로 이해하면 했는데 아직 이해가 부족한 것 같다.

profile
FE 개발자다?

0개의 댓글