개발하려는 어플리케이션을 model view controller로 나누어 인터페이스와 비즈니스 로직으로 나누어 개발하는 기법입니다. 로직과 인터페이스를 상호 독립적으로 개발할 수 있는 장점이 있다. MVC패턴은 MVC모델 1, 2로 나뉘는데 요즘 말하는 MVC는 MVC 모델 2를 말합니다.
Model
모델은 애플리케이션의 정보, 즉 데이터를 나타냅니다. 소프트웨어 응용과 관련된 고급 클래스 내의 논리적 데이터 기반 구조를 표현. 이 목적 모형은 사용자 인터페이스에 관한 어떠한 정보도 갖고 있지 않다.
View
뷰는 사용자에게 보여주는 인터페이스, 즉 화면을 말합니다.
사용자 인터페이스 내의 구성요소들을 표현(사용자에게 보여지는 화면)
Controller
컨트롤러는 비지니스 로직과 모델의 상호동작의 조정 역할을 한다 MVC2에서는 서블릿이 흐름을 제어하는 컨트롤러 역할을 수행한다. Model과 View를 연결하고 있는 클래스를 대표, 모델과 뷰내의 클래스들 간 정보 교환을 위해 사용.
spring은 이런한 MVC 패턴을 구현하기 위해 다른 웹 MVC 프레임워크 처럼 FrontController 패턴을 사용하며 프레임워크의 여러 가지 기능을 제공하는 servlet 중심으로 설계되어 있다. 스프링에서 Front Controller 역할을 하는 것이 바로 DispatcherServlet이다. 스프링의 DispatcherServlet은 단순히 Front Controller기능만 하는게 아니라 스프링 ioC컨테이너와 완전히 통합되어 스프링이 가진 모든 다른 기능을 사용할 수 있게 한다. Spring DispatcherServlet은 Spring MVC의 핵심 요소이다. DispatcherServlet은 Spring MVC의 웹 요청 Life Cycle을 주관한다고 할 수 있다.
cf)FrontController 패턴이란 모든 Web Application에 대한 요청들을 FrontController로 받고 그 요청을 Controller로 분배해주는 패턴을 의미한다.
'웹프로그래밍 > spring~~' 카테고리의 다른 글
Maven 이란~ (0) | 2019.06.05 |
---|---|
Spring PSA (0) | 2019.05.30 |
SPRING AOP (0) | 2019.05.30 |
의존성 주입 (0) | 2019.05.30 |
Spring bean이란 ? (0) | 2019.05.29 |
Spring IOC (0) | 2019.05.29 |
Thymeleaf란? (0) | 2019.05.28 |
세션, 쿠키 (0) | 2019.04.27 |