servlet, jsp

MVC Pattern

개발하는지호 2024. 1. 28. 16:40

1. Model - View - Controller

 

 

Model

개발하고자 하는 프로그램에서 요구되는 관심사이자 데이터를 추상화, 모델링하여 표현된 결과 클래스

 

View

Model을 UI Presentation 에 표시하는 역할을 담당하는 클래스

 

Controller

사용자와 시스템을 이어주는 가교 역할

사용자로부터 입력을 받아 Model 조작, View를 적절하게 업데이트 하는 역할을 수행

 

2. 관심사의 분리

이러한 MVC 패턴의 핵심은 본질적으로 서로 다른 역 할을 담당하는 로직을 역할 미 용도에 따라 분리하는 것이라고 볼 수 있다.

 

디자이너는 심미적인 요소와 사용자 인터페이스, 화면 배치를 위한 레이아웃에만 집중하고, 개발자는 서비스의 동작에 필요한 로직 작성에만 집중하듯이 MVC는 이러한 각 역할에 맞게 분리한 결과라고 볼 수 있다.

 

2-1 의존하는 방향에 따른 특성

 

화살표의 방향을 보면, View는 Model에 의존하지만 반대로 Model은 View에 의존하지 않고 있다.

그렇게 해야 Model이 View에 의존하지 않게 되면서, 다른 표현으로는 종속되지 않게 되면서 View가 수정됨에 따라 Model이 수정될 필요가 없어지기 때문이다.

 

-> View의 레이아웃은 다양하게 변경될 수 있으나 그럴 때마다 Model이 같이 변경되어야 하면 문제가 복잡해진다.

 

3. MVC Pattern in Servlet / JSP

3-1 model 1

 

서블릿을 통해 setAttribute로 전달하는 방식은 MVC 패턴 중 초기 모델인 model1의 방식을 따른다고 본다.

 

3-2 model2

 

Servlet과 JSP 기술을 같이 활용하는 방식은 MVC 패턴 중 보다 발전된 model2 의 방식을 따른다고 볼 수 있다.