본문 바로가기
SPRING BOOT

MVC패턴 기초

by Red서카 2022. 11. 12.
MVC 모델이란?

간단히 정리하자면 MVC란 Model, View, Controller의 약자로 각각의 역할을 나누어서 코딩을 하는 모델(패턴)입니다.

MVC 각각의 역할은 아래와 같습니다.

  • Model : 시스템의 비즈니스 로직을 담당.
  • View : 화면의 표시, 입력 등의 처리.
  • Controller : 유저의 입력에 근거하여 Model View 를 제어.


출처: https://jansipke.nl/model-view-controller-mvc-with-jsp-and-jstl/

 

 

MVC 모델의 처리 과정

위 개념도를 바탕으로 이해한 MVC 모델의 처리 과정은 다음과 같습니다.

  • Model 은 어플리케이션이 “무엇”을 할 것인지를 정의 합니다. 실질적으로 데이터베이스에 접근하여 검색, 추가, 수정, 삭제 등 데이터의 조작을 행하는 내부 비지니스 로직 을 의미합니다.
  • View는 화면에 “무엇” 인가를 “보여주기 위한 역할”을 합니다. 컨트롤러 하위에 종속되어, 모델이나 컨트롤러가 보여주려고 하는 모든 필요한 것들을 보여줄 것입니다. 일반적으로 화면에 표시되는 글자, 체크박스, 윈도우와 같은 UI라는 시각적 요소를 지칭합니다.
  • Controller  Model 이 “어떻게” 처리할 지를 알려주는 역할을 할 것이고, 모바일에서는 화면의 로직처리 부분입니다. 화면에서 사용자의 요청을 받아서 처리되는 부분을 구현되게 되며, 요청 내용을 분석해서 Model  View 에 업데이트 요청을 하게 됩니다.

이에 따라 Controller는 Model과 View의 제어만은 담당하기에 지나치게 코드의 양이 늘어나는 것을 방지할 수 있습니다.

View는 단순히 전달 받은 데이터의 값을 표시하는 것이 아니라, Model을 참조해서 Model 내의 데이터의 상태를 표시합니다.

 

왜 MVC모델을 사용해야 할까.

사용자가 보는 화면, 내부 비지니스 로직, 그리고 이 2가지를 중간에서 제어하는 컨트롤, 이 3가지로 구성되는 하나의 애플리케이션을 만들면 각각 맡은바에만 집중을 할 수 있게 됩니다. 공장에서도 하나의 역할들만 담당을 해서 처리를 해서 효율적이게 됩니다. 여기서도 마찬가지입니다.

서로 분리되어 각자의 역할에 집중할 수 있게끔하여 개발을 하고 그렇게 애플리케이션을 만든다면, 유지보수성, 애플리케이션의 확장성, 그리고 유연성이 증가하고, 중복코딩이라는 문제점 또한 사라지게 되는 것입니다. 그러기 위한 MVC모델입니다.

'SPRING BOOT' 카테고리의 다른 글

[Linux]리눅스 기본 명령어  (0) 2022.11.20
[Github] Git 명령어 모음  (0) 2022.11.20
자주 사용되는 어노테이션  (0) 2022.11.12
#0 SPRINGBOOT 환경 설정(for WINDOWS)  (0) 2022.10.10