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 패턴이 보다 구조적이고 유연한 설계를 가능하게 함.
이를 통해 개발자는 보다 체계적이고 효율적인 개발을 할 수 있음.
참고링크
'👩🏻💻 About 프로그래밍 > Spring, Spring boot' 카테고리의 다른 글
스프링 시큐리티 SecurityConfig 설정(스프링부트 2.x.x vs 3.x.x) (0) | 2024.07.10 |
---|---|
스프링 시큐리티(Spring Security) vs 전통적인 방식 (0) | 2024.07.10 |
MVC (0) | 2024.07.08 |
DTO vs VO, DTO와 VO의 차이점, 언제 VO를 사용하고 언제 DTO를 사용하는가? (0) | 2024.07.08 |
Spring 패키지 구조(feat. Controller, DTO, DAO Service, Repository, Entity, Vo) (0) | 2024.07.08 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기