MVC1와 MVC2

1. MVC란 ?

  • Model, View, Controller의 약자로 사용자와 상호작용 하는 S/W를 디자인 함에 있어서 세 가지 요소로 나누는 것

1-1 Model

모델은 프로그램의 내부 상태, 즉 프로그램의 정보(데이터)를 나타냄

1-2 View

사용자 인터페이스 요소를 뜻함(유저에게 보여지는 것)

1-2 Controller

데이터와 비즈니스 로직 간의 상호 작용(정보를 조종)

  • 비즈니스 로직을 처리하는 모델과 결과 화면을 보여주는 뷰가 분리되어 있다.
  • 어플리케이션의 흐름 제어나 사용자의 처리 요청은 컨트롤러에 집중된다.

MVC1과 MVC2의 가장 큰 차이점은 진입



2. MVC1 패턴

MVC1

  • 요청이 JSP단에서 처음 다뤄지고, 다뤄지면서 Bean하고 상호작용을 한다. DB와 상호작용하는 Bean으로 대량의 프로세싱 로직이 다뤄진다하더라도 JSP 페이지는 부분적인 프로세싱 로직을 가지고 있을 수 있다.
  • JSP단에서 View와 Controller의 역할을 같이 수행, Bean은 Model의 역할을 가지고 있다.

많은 프로세싱이 요구되는 대규모 작업의 경우 적합하지 않다.

3. MVC2 패턴

MVC2

  • 들어오는 요청을 다루는 서블릿 단이 있고, 이 서블릿 단이 Controller의 역할을 수행한다.
  • Controller는 다음에 어떤 작업이 될지, Model이 어떤 작업을 할지 결정하고 모든 작업 후 JSP단에 어떻게 뿌려질 지를 결정하는 것이다.
  • 서블릿은 요청 결과가 들어있는 Beans를 인스턴스와 한다.

4. 정리 및 차이점

4-1 MVC1

  • 모든 클라이언트 요청과 응답을 JSP가 담당

  • 장점

    단순한 페이지 작성으로 쉽게 구현 가능하다.(개발이 쉬움)
    구조가 간단하다. (중소형 프로젝트에 적합)

  • 단점

    애플리케이션이 복잡해지면 개발과 유지보수가 어려워진다.
    개발자와 디자이너간 역할 분담이 어려워진다.

4-2 MVC2

  • 클라이언트의 요청을 Servlet이 받아 Controller 역할을 수행하고 JSP가 View 역할을 수행하고 Response를 처리한다.

  • 장점

    어플리케이션이 복잡하여도 controller와 view의 분리로 개발과 유지보수, 확장이 용이하다.

  • 단점

    개발이 어렵다. (구조 설계를 위한 충분한 시간이 필요하며 높은 수준의 이해가 필요하다)

Share :

Comments