MCV pattern 이란?
M : Model V : View C : Controller
기존 데이터 흐름
jsp <---> servlet <---> dao
즉, 각 작업을 입력처리, 출력처리, 정보처리 로 나눈 분업이다.
입력처리: Controller, 정보처리: Model, 출력처리: View
1. Model
service+dao : 서비스는 dao호출하고 dao의 결과는 서비스로 간다.
dao 결과에 따른 데이터 전후처리는 서비스에서 한다.
2. Controller= servlet
사용자의 요청(.do)이 있을때 요청 처리 위한 준비하는곳.
즉, 사용자 요청받아들이고 파라미터 분리후 파라미터에 따라서
어떤 작업(어떤 메서드 호출할지)할지 지정. (요청/결과를 받기만 함. 처리는 서비스에서..)
3. View
최종 사용자에게 보여줄 영역(JSP). 보여줌.
** 가장 중요part : Model (service + DAO)
모델에서 모든일이 일어남. 데이터처리와 DB호출.
[Controller, service, dao] 는 하나의 패키지. 항상 같이 다닌다.
**DTO date transfer object
데이터를 효율적으로 관리하기 위해 객체 사용.
입력 데이터들(파라미터)을 객체화 시켜서 그 객체를 사용함.
ex) 넘길 매개변수가 100개인경우 다 따로 넘겨줄수 없으므로 100개의 데이터를 객체화 시켜서 객체자체를 보내주는 작업.
** Model 2 pattern
모델 2 패턴이란 MVC패턴을 웹 개발에 도입한 구조이며 모델 2와 MVC패턴은 완전히 같은 형태를 가진다.
MVC |
model2 |
Model |
Service + dao |
View |
JSP page |
Controller |
Servlet |
** Model1 pattern
모델 1 패턴이란 뷰와 로직을 모두 JSP페이지 하나에서 처리하는 구조이다.
이 구조에서 로직부분을 분리하여 나눈 구조가 Model2이자 MVC 패턴으로 탄생한 것이다!
'Back-end > DEV notes' 카테고리의 다른 글
siteMesh 사이트메쉬란? (0) | 2018.12.06 |
---|---|
이클립스 프로젝트 깃허브에 업로드하기. (0) | 2018.10.15 |
형상관리 SVN이란?? SubVersioN (0) | 2018.10.11 |
맥mac / 윈도우window Tomcat Kill 톰캣 죽이기. (1) | 2018.10.08 |
CSS 란? Cascading Style Sheet (0) | 2018.03.18 |