Programing/JSP

Model 1 방식과 Model 2 방식의 차이점

Dongkkase 2009. 1. 8. 15:53
반응형
Model 1 방식과 Model 2 방식의 차이점


MODEL 1 개발 방식은 현재 국내에서 가장 많이 사용되는 방식.
대부분의 개발자들이 이 방법으로 웹 개발을 진행하고있다.(60~70%정도 model1방식)

MODEL 2 개발 방식을 사용해서 개발하는 경우는 (30~40%정도)

☆MODEL 1 방식


장점 
  • 개발속도가 빠르다.
  • 개발자의 스킬이 낮아도 배우기가 쉬워서 빠르게 적용할 수 있다는 것


단점 
  • JSP페이지에서 프리젠테이션 로직, 비지니스로직(흐름제어)을 모두 포함하기 때문에 JSP페이지가 너무 복잡해진다.
    (개발자와 디자이너의 분리된 작업이 힘들어진다.)
  • JSP페이지의 코드가 복잡해지므로 유지보수가 어려워진다.
==>개발시의 cost(시간,노력,돈)보다 장기적인 관점에서 유지보수를 쉽게 할 수 있는 개발 방식이 요구사항이 증대됨(model2방식)


☆MODEL 2 방식
 model 2 방식은 전형적으로 MVC패턴에 기반하여 개발
 프로그램 수행 부분(처리로직)과 화면에 보여지는(UI단-html,javascript)를 서로 분리

 MVC(model - view - controller)로 역활을 각각 나누어서 작업하자.
<이미지를 클릭해서 보세요>
  1. model2는 사용자 요청을 컨트롤러가 받는다. 컨트롤러는 사용자 요청을 분석해서 적절한 Action을 호출해서 비지니스 로직을 수행하고 필요할때는 JavaBean을 호출함.
  2. DB관련 처리는 JavaBean이 담당한다. 모델이서 DB쿼리처리등을 수행 한 뒤에 결과를 반환. 다시 Action에서는 컨트롤러가 request, session의 setAttribute()메소드를 사용해서 해당 결과를 저장.
  3. 컨트롤러는 설정파일을 통해서, 실행결과를 Html으로 뿌려줄 View(JSP)로 forward
  4. View(JSP)는 getAttribute()로 수행결과를 데이타로 만들어 클라이언트에 출력.


  1. Model은 Application 로직을 담당하는 부분으로 DB의 로직처리담당.
     [DAO,DTO등의 JavaBean이 담당.]
  2. View는 사용자가 직접 사용하는 부분으로 Presentation을 담당.
     Controller와 Model에 의해 생성된 결과물을 보여주는 역활
     [JSP가 담당.]
  3. Controller는 비지니스로직(흐름제어)를 담당하는 부분으로 사용자의 요청에 해당하는 작업을 한 후 결과에 따라 응답하는 리더역활을 한다.
     [Servlet, 이미 나와있는 Framework(Struts)가 담당.]
반응형