Hello

MVC1과 MVC2 비교

by 볼빵빵오춘기

MVC1

  • 초기의 웹 애플리케이션 개발 방법론으로, 단순한 구조를 가짐.
  • JSP(JavaServer Pages)가 주로 사용되며, JSP 페이지에서 비즈니스 로직과 표현 로직이 혼합되어 구현.
  • Servlet이 주로 컨트롤러(Controller) 역할을 수행하며, 클라이언트의 요청을 처리하고 적절한 JSP 페이지로 포워딩.
  • 데이터베이스와의 상호작용이 직접적으로 이루어질 수 있으며, JSP 페이지에서 SQL 쿼리를 포함할 수 있음.
  • 예시로는 Java EE(Enterprise Edition)의 초기 버전들이 이 방식을 채택.

 

MVC2

  • 보다 구조화된 디자인 패턴으로, 기능별로 역할을 분리하여 개발.
  • Servlet이 컨트롤러(Controller) 역할을 수행하며, 클라이언트의 요청을 받아서 비즈니스 로직을 처리하고 적절한 결과를 뷰(View)에 전달.
  • JSP 페이지는 주로 뷰 역할을 수행하며, Presentation Layer에서 UI를 담당.
  • Model은 비즈니스 로직과 데이터 접근을 담당하는 계층입니다. 보통 JavaBeans나 POJO(Plain Old Java Object)로 표현.
  • 모델과 뷰는 서로 독립적으로 개발할 수 있으며, 데이터베이스 접근은 주로 DAO(Data Access Object)를 통해 이루어짐.
  • 예시로는 Spring Framework와 같은 현대적인 Java 웹 프레임워크들이 MVC2 패턴을 기본으로 채택.

 

주요 차이점

  • 구조화된 분리
    MVC2 패턴은 역할이 명확히 구분되어 있어 유지보수와 확장이 용이.
    모델, 뷰, 컨트롤러가 각각의 책임을 가지고 독립적으로 개발.
  • 재사용성
    MVC2 패턴은 재사용 가능한 컴포넌트와 모듈화된 코드를 촉진.
    각 계층은 독립적으로 테스트하고 변경할 수 있음.
  • 관심사의 분리
    MVC2 패턴은 Presentation Layer(뷰)와 비즈니스 로직(Model)을 분리하여 응용 프로그램의 설계를 개선.
  • 복잡성
    MVC1 패턴은 단순하고 빠르게 개발할 수 있는 장점이 있지만, 큰 규모의 애플리케이션에서는 유지보수와 확장이 어려울 수 있습니다.

 

정리하자면

웹 개발에서는 MVC2 패턴이 보다 구조적이고 유연한 설계를 가능하게 함.

이를 통해 개발자는 보다 체계적이고 효율적인 개발을 할 수 있음.

 

참고링크

https://chanhuiseok.github.io/posts/spring-3/

https://onejuny.tistory.com/entry/JavaJsp-MVC-1-MVC-2-%EC%B0%A8%EC%9D%B4-%EB%B0%8F-%EC%9E%A5%EB%8B%A8%EC%A0%90

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기