ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MVC (Model-View-Controller) : 모델-뷰-컨트롤러
    Java/JSP/Servlet 2008. 8. 25. 16:42
    반응형

    모델-뷰-컨트롤러 (Model - View - Controller)

     모델 : 비즈니스 영역의 상태 정보를 담당

    뷰 : 비즈니스 영역의 프리젠테이션 뷰를 담당

    컨트롤러 : 사용자 입력의 상태와 흐름 제어를 담당


    MCV 모델

       애플리케이션이 사용하는 아키텍처의 타입에 따라 모델 부분은 여러가지 다른 형태를 취할 수 있다.

      웹 계층에서 직접 데이터베이스와 같은 데이터 스토어와 상호작용하는 2-계층 애플리케이션이라면 모델 클래스는 일반 자바 객체의 집합이다. 이 같은 객체들을 데이터베이스 질의(query)결과로 반환된 ResultSet으로부터 설정하거나 톱링크(TopLink)나 코코베이스(CocoBase)와 같은 객체와 관계형 DB간의 매핑 프레임워크를 사용하여 자동으로 인스턴스화하고 설정할 수도 있다.

      좀더 복잡한 기업용 애플리케이션에서는 MVC 패턴의 모델부분이 엔터프라이즈 자바빈즈가 될 것이다.


    MVC 뷰

       일반적으로 HTML과 JSP페이지로 구성된다.

      뷰는 모델과 분리되어 있기 때문에 동일한 모델 컴포넌트를 사용하면서도 각각의 클라이언트 형태에 따라 다양한 뷰를 제공할 수 있다.


    MVC 컨트롤러

       웹 계층 MVC 디자인에서 컨트롤러 부분은 일반적으로 자바 서블릿이다. 웹 계층 애플리케이션에서 컨트롤러는 다음과 같은 일을 수행한다.

      1. 클라이언트로부터의 HTTP요청을 가로챈다.

      2. 각 요청을 수행할 특정 비즈니스 오퍼레이션으로 바꾼다.

      3. 비즈니스 오퍼레이션을 직접 호출하거나 이를 핸들러에 넘겨준다.

      4. 클라이언트에 보여줄 다음 뷰를 선택하는 작업을 돕는다.

      5. 4번에서 선택한 뷰를 클라이언트에 보여준다.

    반응형
Designed by Tistory.