본문 바로가기

개념 정리

MVC 패턴에 대해 알아보자

MVC

  • MVC는 Model - View - Controller의 약자이다.
  • Model : 모델은 뷰가 렌더링하는데 필요한 데이터이다. 데이터관련, 데이터형식을 지정, 저장하고 불러오는 작업에 대한 코드가 입력된다. 예를들면 사용자가 요청한 상품목록이나, 주문내역에 해당한다.
  • View : 웹 애플리케이션에서 뷰(View)는 실제로 보이는 부분이며 모델을 사용해 렌더링을 한다. 웹의 경우 html과 css로 구현하는 요소로 볼 수 있으며, JSP, JSF, PDF, XML 등으로 결과를 표현한다.
  • Controller : 컨트롤러는 사용자의 액션에 응답하는 컴포넌트이다. 컨트롤러는 모델을 업데이트하고, 다른액션을 수행한다. 프로그래밍적 요소가 입력된다.

MVC 패턴 관계도

MVC 패턴을 사용하는 이유

 웹사이트를 제작하는데 모든작업이 한곳에서 이루어진다면?
작은게시판과 같은 작은 웹사이트는 그렇게 만들어져도 운영될 수 있다. 하지만 네이버나, 카카오다음과 같이 볼륨이 큰  웹사이트의 경우에는 코드도 길어지고 만들기능들도 많아 제작도 어려울뿐더러 유지보수까지 어렵게 된다.
이렇게 볼륨이 커질수록 특정기준으로 분리, 모듈화하여 접근해야하는데, 지금까지의 개발 데이터를 바탕으로 MVC패턴의 골격이 만들어 졌고, 이전 개발 환경보다 제작과 유지보수에 있어 높은 효율을 보여준다. 종류로는 자바의경우 스프링, PHP의 라라벨, 파이썬의 장고 등등 많은 프레임워크가 존재한다.

 결론적으로 유지 보수의 편리성이 좋아서 사용한다.

 


Spring 프레임워크 MVC 패턴

스프링 프레임워크 MVC 패턴 관계도

  1. 사용자가 컨트롤러에 데이터를 전달.
  2. 컨트롤러에서 모델파트인 서비스에게 데이터를 전달.
  3. 서비스에서 JPA를 통해 데이터베이스에 데이터를 입력.
  4. 컨트롤러는 서비스를통해 입력한 데이터를 조회.
  5. 조회한 데이터를 모델을 통해 뷰로 전달
  6. 뷰에서 출력된 값을 사용자에게 제공. 

 

결론

 웹 개발에 있어 Model, View, Controller 세가지 영역의 결합도를 최소화 하여 유지보수성도 높이며, 개발자들이 각각 맡은 영역에만 집중할 수 있어 개발의 효율성을 극대화 할 수 있어서 MVC패턴을 사용한다.