LogT | Java Spring의 MVC 패턴에 대해 알게된 모든 내용과 고민들
Java Spring의 MVC에 대해 공부한 내용을 시간순으로 기록하고 있다.
2023년 1월 9일
스프링의 정석 강의에서 관심사의 분리와 MVC 패턴에 대한 강의를 들었다.
MVC 약자
MVC는 Model, View, Controller의 첫 글자들을 모아서 만든 단어이다.
관심사의 분리
OOP (Object-Oriented Programming) 5대 원칙 중 하나인 SRP(Single Responsibility Principle : 단일 책임 원칙)에 따라 코드를 크게 입력, 처리, 출력으로 나눌 수 있다.
입력
Client Side에서 데이터를 전달 받을 때 기존에는 HttpServletRequest 객체를 이용해서 하나하나 불러와야 했다. 하지만 Spring에서는 인자값에 변수를 설정해주면 자동으로 매칭이 돼 입력부 코드가 간소화 됐다.
출력
화면 출력을 위한 HTML 코드를 직접 코드에 작성하는 것 대신 Spring의 View 기능을 이용해 HTML 코드는 html 파일로 분리시켜 놓고 필요할 때 불러와서 사용할 수 있도록 했다.
Controller
위와 같은 입력과 출력의 기능을 본 코드에서 분리시켜 놓음으로써 코드는 처리 부분에 집중할 수 있도록 관심사를 분리할 수 있었고 이런 처리를 담단하는 객체를 Controller라고 부른다.
View
출력할 결과물들을 개개의 파일로 분리시켜 사용할 수 있도록 하는 Spring의 기능을 View 영역이 담당한다.
Model
위에서 Controller의 처리 결과를 View 영역으로 데이터를 전달 할 때 사용하는 객체를 Model이라고 한다.
오늘까지 이해한 MVC란?
MVC 패턴은 관심사에 따른 분리로 코드를 처리영역(Controller)와 출력영역(View)로 나누고, 이 두 영영에 데이터를 원할히 전달하기 위해 Model 이라는 데이터 전달 객체를 도입한 코딩방식이다.