기술면접

기술면접준비(3)_MVC패턴/ model-1과 model-2차이점

개발자 배찌 2021. 6. 7. 19:18
728x90

1. MVC (디자인) 패턴

 

1) 모델(Model) : 일반적으로 프로젝트에서의 모델은 DAO처럼 SQL처리를 담당하는 CRUD 메서드로 구성된 자바 빈이나 자료를 보유/전송하는 DTO, VO 등의 자바빈을 말하는 것입니다.

2) 뷰(View) : 프론트 사용자들이 웹브라우저 등의 클라이언트에서 볼 수 있는 부분을 말하는 것이며, HTML/CSS/javascript (node.js 제외), 및 JSP, thymeleaf(타임리프)가 이러한 부분들에 해당됩니다. JSP로만으로도 프론트 및 백단(back-end)을 모두 구성할 수 있지만 MVC model-2 패턴 위반(안티 패턴)이기 때문에 그렇게 하지 않습니다.

3 컨트롤러(controller) : 모델을 활용하여 HTTP 제어 흐름에서 요청/응답(request/response) 처리를 전송되어 오는 인자들을 모델의 상태를 변경하는데 반영하기도 합니다. 또한 결과물이 있다면 결과 인자들을 생성하고 이를 뷰단(View)에 전송할 수 있습니다.

 

 

https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%8D%B8-%EB%B7%B0-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC

 

모델-뷰-컨트롤러 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 모델, 뷰, 컨트롤러의 관계를 묘사하는 간단한 다이어그램. 웹 애플리케이션에서 일반적인 MVC 구성요소 다이어그램 모델-뷰-컨트롤러(model–view–controller, MVC)

ko.wikipedia.org

 

 

https://m.blog.naver.com/jhc9639/220967034588

 

[개발자 면접준비]#1. MVC패턴이란

오늘은 개발자면접에 많이 나오기도 하는 MVC패턴에 대해서 알아보고자 합니다. 과연 MVC패턴이 무엇...

blog.naver.com

 

 

1) JSP/Servlet의 model-2 패턴 적용

 

2) Spring의 MVC / model-2 패턴

3) model-1과 model-2의 차이점

- model-1 : 요청/응답 처리하는 백단(back-end)을 Servlet을 사용하지 않고 JSP를 사용합니다.

- model-2 : 요청/응답 처리하는 백단(back-end)으로 보안에 위험성이 있는 JSP를 사용하지 않고 자바 코드인 Servlet을 사용합니다.