Model1 vs Model2

Guinsu·2024년 6월 27일

Model 1 아키텍쳐

  • 애플리케이션 처음 개발되기 시작한 시기에는 HTML과 같은 마크업 언어와 CGI 스크립트를 사용하여 동적인 웹 페이지를 생성했습니다.
  • 이 시기에 비즈니스 로직과 프레젠테이션 로직이 하나의 스트립트나 파일 내에 혼재되어 있었습니다.
  • 하나의 JSP 파일 내에서 데이터베이스 접근, 비즈니스 로직 처리, 그리고 사용자 인터페이스 렌더링을 모두 수행할 수 있었습니다. 이러한 방식이 Model 1 패턴이다.

  1. 문제점
  • 유지보수 문제점 : 비즈니스 로직과 프레젠테이션 로직이 섞여 있어 코드가 복잡해지고, 수정이 어렵다.
  • 확장성 부족 : 애플리케이션이 커지면 코드 중복과 비효율성이 증가합니다.

Model 2 아키텍쳐

  • Model 2는 JSP/Servlet 기반의 웹 애플리케이션에서 MVC 패턴을 구현한 방식입니다.
  • Model 1의 단점을 해결하기 위해 Model 2 패턴이 도입 되었습니다. Model 2 는 비즈니스 로직, 프레젠테이션 로직, 사용자 요청 처리를 명확하게 분리합니다.

Model : 비즈니스 로직과 데이터 접근을 담당하여, 사용자 요청을 받고 처리합니다.

View : JSP가 주로 이 역할을 담당하며, 사용자에게 보여질 화면을 생성합니다.

Controller : 서블릿이 주로 이 역할을 담당하며, 사용자 요청을 받고 처리합니다.

  1. 장점
  • 유지보수 용이 : 각 역할이 분리되어 있어서 코드 수정이 용이합니다.
  • 확정성 향상 : 새로운 기능을 추가할 때 기존 코드를 수정하지 않고도 확장할 수 있습니다.
  • 역할 분담 명확 : 개발자 간 역할이 명확히 분리되어 협업이 용이합니다.

model1 과 model2의 큰 차이점

  • 간단하게 분류하자면 JSP에서 출력과 로직을 전부 처리하느냐(모델 1)
  • JSP에서 출력만 처리하느냐(모델 2)로 분류할 수 있습니다.
profile
백엔드 개발자의 성장기

0개의 댓글