[CS 스터디] MVC 패턴

·2022년 10월 1일

CS 스터디

목록 보기
3/3

MVC


MVC 패턴이란?

모델(Model), 뷰(View), 컨트롤러(Controller)로 이루어진 디자인 패턴을 의미한다.
사용자가 컨트롤러를 조작하면 컨트롤러에서는 모델을 통해 데이터를 가져오고, 그 정보를 바탕으로 뷰가 시각적인 표현을 제어해 사용자에게 전달한다.

특징

  • 애플리케이션의 구성 요소를 세가지로 분리해 개발하는 프로세스이기 때문에 각각의 구성요소에만 집중해서 개발 할 수 있다.
  • 재사용성과 확장성이 용이하지만 애플리케이션이 복잡해지면 모델과 뷰 사이의 관계가 복잡해진다는 단점이 있다.

Model - View - Controller

Model

애플리케이션의 데이터인 데이터베이스, 상수, 변수 등을 의미한다.
뷰에서 데이터를 생성하거나 변경하게 되면 컨트롤러를 통해 모델을 생성하거나 갱신한다.
➡️애플리케이션이 무엇을 할 것인지 정의한다.

View

모델을 기반으로 사용자가 볼 수 있는 화면을 의미한다.
모델의 정보를 따로 저장하지 않으며 변경이 일어나면 컨트롤러에 이를 전달한다.
➡️화면에 어떻게 보여질것인가(나타낼것인가) 로 모델이나 컨트롤러로부터 받은 데이터를 어떻게 보여질지 정의한다.

Controller

하나 이상의 모델과 하나 이상의 뷰를 이어주는 다리역할을 하며 메인 로직을 담당한다.
모델이나 뷰의 변경 통지를 받으면 이를 해석해 각각의 구성 요소에 해당 내용에 대해 전달한다.
➡️모델이 어떻게 처리할지를 알려주는 역할을 한다. 뷰로부터 요청을 받으면 해당 요청에 맞는 모델의 로직을 호출하고 처리된 내용을 다시 알맞은 뷰에 전달한다.

Web 과 MVC

  1. 사용자가 웹사이트에 접속한다
  2. 컨트롤러는 웹 페이지를 보여주기 위해 모델을 호출한다.
  3. 모델은 데이터베이스나 파일과 같은 데이터소스를 제어한 후 만들어진 결과값을 컨트롤러에게 전달한다.
  4. 컨트롤러는 모델로부터 받은 데이터를 뷰에 반영한다.
  5. 뷰는 데이터를 바탕으로 사용자에게 화면을 제공한다.

✔️MVC 패턴이란?

데이터를 처리하며, 로직 처리를 하는 모델과 사용자에게 보여지는 뷰, 모델과 뷰를 연결하는 컨트롤러로 이루어진 디자인패턴으로 역할에 따라 분리되어있기 때문에 개발과 유지보수가 편하다는 장점이 있다.

profile
으쌰으쌰🐜🐜

0개의 댓글