[Spring] MVC란?

상트리버·2022년 12월 11일
0

Spring 이론

목록 보기
17/23

MVC란?

MVC, MVVM 과 같은 키워드는 소프트웨어 설계와 관련된 디자인 패턴으로, 소프트웨어 공학에서의 ‘흔히 사용되는’ 설계 패턴을 의미한다.

  • Model View Controller의 약자이다.
  • 소프트웨어가 서비스하는 방식에 대한 패턴을 지칭한다.
  • 어떤 프로임워크나 라이브러리를 지칭하는 것이 아니다.
  • 서비스하는 방식에 대한 하나의 아이디어 디자인 패턴이다.
  • 여러 유명한 웹 프레임워크에서는 MVC 컨셉을 사용하고 있다.
    (Laravel PHP, Django Python, Express JS, Angular JS 등)

특징

  • 소프트웨어가 서비스하기 위해서는 여러 과정과 처리가 필요한다.
  • 그러한 처리들을 각 기능 단위 별로 나눠서 처리한다.
  • 프로그래밍을 할 때 역할을 하는 정돈된 코드를 작성할 수 있다.
  • 디버깅이나 코드 가독성을 높인다.

1. Model

  • 데이터베이스에서 데이터를 가지고 올 수 있고 데이터를 가지고 있을 수도 있다.
  • 데이터베이스와 소통한다.
  • 컨트롤러에게 데이터를 전달한다.
  • 모델이 뷰와 직접 소통하는 일은 없다.

2. View

  • 유저가 보는 화면을 보여주게 하는 역할이다.
  • 데이터를 받고 그리는 역할을 수행한다.
  • 모델이나 데이터베이스와는 소통하지 않고 컨트롤러와만 소통한다.
  • 컨트롤러에게 엑션이나 데이터를 전달만 하고 전달 받기만 한다.

3. Controller

  • 뷰에서 엑션과 이벤트에 대한 인풋 값을 받는다.
  • 모델에게 전달해주기 전에 데이터를 가공할 수 있다.
  • 뷰에게 모델에게 받은 데이터를 가공할 수 있다.

0개의 댓글