본문 바로가기
Programming/Java

Model1, Model2의 차이

by wonduk 2023. 9. 8.
728x90

Model1 패턴과 Model2 패턴은 웹 어플리케이션 아키텍처에서 사용되는 두가지 패턴으로 어떻게 구현하는지에 따라서 차이가 있습니다.

 

Model1 방식

 

아키텍처 구성


단일 컴포넌트 아키텍처로, JSP(JavaServer Pages) 등의 뷰 컴포넌트와 서블릿(Servlet) 등의 컨트롤러가 함께 구성됩니다. 모든 로직이 JSP 페이지에 결합되어 있으며, JSP 페이지가 클라이언트 요청을 직접 처리합니다.

MV(Model-View)만 포함하여 컨트롤러 부분이 부족하거나 통합되어 있다는 특징이 있습니다. 

그리하여 JSP페이지 내에서 View와 Controllor가 함께 처리됩니다.

 

아키텍처란?

Architecture는 영단어로는 ‘건축학’ 이라는 뜻으로 시스템 구성 및 동작원리를 나타내며, 하나의 서비스가 어떻게 구성되며 어떻게 동작하는지를 표현한 것 입니다.

 

구현 방식

JSP 페이지에서 프레젠테이션 로직과 비즈니스 로직을 함께 처리하므로, 코드가 복잡해지고 유지보수가 어렵습니다.
JavaBeans나 스크립트릿을 사용하여 비즈니스 로직을 처리합니다.

단점

코드의 구조가 혼재되어 있어 유지보수가 어렵고 확장성이 낮습니다.
대규모 애플리케이션에는 부적합하며, 복잡한 로직을 다루기 어렵습니다.

 


Model 2 패턴


아키텍처 구성

두 개의 주요 컴포넌트로 구성됩니다. 컨트롤러(Controller)와 뷰(View)로 구분됩니다.
컨트롤러는 클라이언트 요청을 처리하고, 비즈니스 로직을 분리된 모델(Model)에서 처리합니다.
뷰는 사용자 인터페이스를 나타내며, 보통 JSP, HTML, 또는 템플릿 엔진을 사용하여 구현됩니다.


구현 방식

비즈니스 로직과 프레젠테이션 로직이 분리되어 있어 코드가 더 구조화되고 유지보수가 용이합니다.
컨트롤러에서 클라이언트 요청을 처리하고, 모델에서 비즈니스 로직을 실행한 다음 결과를 뷰로 전달합니다.

 

장점

코드의 분리로 인해 유지보수가 쉽고, 각 컴포넌트를 개별적으로 테스트하기 쉽습니다.
대규모 애플리케이션에 적합하며, 확장성이 높습니다.
개발자와 디자이너가 동시에 작업하기 쉽습니다.
요약하면, Model 1 패턴은 단순하고 작은 규모의 애플리케이션에 적합한 반면, Model 2 패턴은 더 구조화된 아키텍처를 제공하고 대규모 및 복잡한 웹 애플리케이션에 더 적합합니다. Model 2 패턴은 MVC(Model-View-Controller) 아키텍처의 한 형태로, 코드의 분리와 모듈화를 강조합니다.

 

 

 

요약

MVC 패턴을 기준으로 비교하면 Model 1 패턴은 MV(Model-View)만을 구현한 간단한 패턴이며, Model 2 패턴은 MVC(Model-View-Controller) 아키텍처를 구현한 패턴입니다.

728x90