๑ `⌃´ ๑

Spring을 제대로 사용하기 위해서는 Model1, Model2, MVC 패턴이 무엇인지 알아야한다고 한다.

기술 면접에도 단골로 등장하는 주제라고 하며, 마침 이 용어들에 대해 애매하게 알고 있어서 정리하고자 한다.

우선  컨트롤러와 모델, 뷰에 대해서 알 필요가 있다.

View 유저가 요청하거나 요청한 결과를 보여주는 화면 역할
Controller 요청한 내용을 확인하여 해당 업무를 수행할 Model에게 전달하는 역할
Model Controller 에서 받은 요청을 처리 후 반환하는 역할

 

Model1

JSP와 Java Bean으로 프로젝트를 구성하여 개발하는 형태이다. 1990년~2000년 초까지 웹개발에 사용된 아키텍쳐였으며, 개발 속도가 빠르긴하나 로직을 담당하는 컨트롤러와 뷰가 합쳐져있어 유지보수가 어렵다.

 

Model 1

JSP 파일에 html, css, 자바 코드까지 한데 섞여있어서 각 코드의 역할 구분이 명확하지 않았고,

디버깅이 어렵다는 단점이 있다. 그래서 소규모이면서 개발 후 유지보수가 거의 필요없는 프로젝트에 적합하다.

위의 이유로 Model 1을 개선한 Model 2, MVC(Model View Controller) 아키텍쳐가 등장하였다.

 

 

Model 2(MVC Pattern)

프로젝트를 Model, View, Controller 세 가지의 요소로 모듈화하여 개발하는 형태를 의미한다. 현재 Spring Framework가 주로 사용하는 기본적인 구조로, 현재까지 널리 사용되고있는 형태이다. Model 2와 MVC 패턴은 같은 표현이다.

Model 2

Controller 는 받은 일을 직접 처리하거나 다른 Model에 전달한다.

Model 은 Controller에게 요청받은 일을 처리하고 통지한다.

이 때 DB에 접근할 일이 생길 경우 우리는 DB 처리만을 위한 클래스를 따로 생성한다.(DAO,DTO)

MVC 패턴은 유지보수가 쉽고 어플리케이션을 쉽게 확장할 수 있다는 장점이 있다. 하지만 자바에 능숙하지 않다면 접근하기 쉽지 않고, 개발 시간이 오래 걸린다는 단점이 있다. 그래서 규모가 크고 개발이 끝난 이후에도 유지보수가 필요한 프로젝트에 적합하다.

'Spring' 카테고리의 다른 글

[TDD] 좋은 테스트란 무엇인가  (0) 2026.08.19
AOP(Aspect Oriented Programming)  (0) 2022.09.05
동적 쿼리  (0) 2022.07.18
JSP Templates 셋팅  (0) 2022.07.18
Ajax  (0) 2022.05.27
🎵 Playlist
loading...
00:00 / 00:00