Thief of Wealth
Published 2019. 12. 15. 23:39
모델1 vs 모델2 개발/Web Programming

1. 모델 1 구조 


모델 1 구조에서는 웹 브라우저의 요청(request)를 받아들이고, 웹 브라우저에 응답(response)하는 것을 JSP페이지가 단독으로 처리한다.


MVC 구조를 적용하면 뷰와 컨트롤러가 같은 JSP페이지 안에서 실행된다. 즉, JSP페이지가 뷰와 컨트롤러의 역할을 같이 해서 모든 사용자 요청의 진입점이 JSP페이지가 된다.


모델 1 구조는 간단한 웹 어플리케이션을 구축할 때 적당하다. 중대형 프로젝트에서는 비즈니스 로직과 뷰 사이의 구분이 없어져서 개발자와 디자이너의 작업의 분리가 어려운 문제가 발생할 수 있다.


장점: 

- 페이지 흐름이 단순화되어 개발시간이 단축됨.

- MVC 구조에 대한 추가적인 교육이 필요업속 개발팀의 팀원이 수준이 높지않아도 됨.

- 중소형 프로젝트에 적합


단점:

- 웹 어플리케이션이 복잡해질수록 유지보수가 힘듬.

디자이너와 개발자간의 원활한 의사 소통이 필요함.



2. 모델 2 구조


모델 2 구조에서는 요청(request) 처리, 데이터 접근, 비즈니스 로직을 포합하고 있는 컨트롤러와 뷰가 엄격하게 구분되어 있다.

뷰는 어떠한 로직도  포함하고 있지 않다.


컨트롤러는 사용자 요청을 받고, 요청에 대한 로직 처리를 모델로 보낸다. 또한 모델로부터 받은 결과를 뷰로 보내서 사용자에게 응답한다. 즉, 전체적인 프로그램의 흐름을 컨트롤러가 통제하는 구조이다. 이런 구조는 개발자와 디자이너의 역할과 책임을 명확하게 구분해줄 수가 있어서, 복잡한 중대형 규모의 프로젝트에 적합하다.


장점: 

- 비즈니스 로직과 뷰가 분리되어 어플리케이션이 명료해지며 유지보수와 확장이 쉽다.

- 개발자와 디자이너의 작업이 분리되어 있어서 역할과 책임이 명확히 구분된다.


단점:

- 개발 초기에 구조 설계를 위한 시간이 많이 소요되므로 개발 기간이 길어진다.

- MVC 구조에 대한 개발자들의 이해가 필요해서 개발팀의 팀원의 높은 수준이 요구된다.


'개발 > Web Programming' 카테고리의 다른 글

SpringBoot 기본 Denpendencies 추천  (0) 2020.01.02
Maven VS Gradle  (0) 2020.01.01
[JSP] 커넥션 풀이란?  (0) 2019.12.14
세션이란?  (0) 2019.12.13
쿠키란?  (0) 2019.12.13
profile on loading

Loading...