본문 바로가기
스프링/mvc패턴

mvc패턴) model1에서 model2로 변경, dao와 controller의 기능

by CodeMango 2023. 2. 16.

model1 -> model2 변경방법

MVC(Model-View-Controller) 패턴에서, 모델1과 모델2는 서로 다른 웹 애플리케이션 아키텍처를 나타내며, 각각의 아키텍처는 다른 개발 방법을 사용합니다. 따라서 모델1에서 모델2로 바꾸기 위해서는 새로운 아키텍처에 맞게 코드를 변경해야 합니다.

일반적으로 모델1 아키텍처는 JSP(Java Server Pages)와 Servlets를 사용하여 구현되며, 비즈니스 로직과 데이터 접근 코드가 JSP 파일 안에 섞여 있습니다. 반면 모델2 아키텍처는 서비스 계층과 데이터 액세스 계층을 분리하여 개발합니다.

따라서 모델1에서 모델2로 전환하는 경우, 다음과 같은 작업이 필요할 수 있습니다.

  1. 서비스 계층의 도입: JSP에서 비즈니스 로직을 분리하여 서비스 계층을 도입해야 합니다.
  2. 데이터 액세스 계층의 도입: JSP에서 데이터 액세스 코드를 분리하여 데이터 액세스 계층을 도입해야 합니다.
  3. 컨트롤러의 도입: JSP 파일에서 모델2 아키텍처에 맞게 컨트롤러를 도입해야 합니다.
  4. 뷰의 분리: JSP 파일에서 뷰를 분리하여 모델2 아키텍처에 맞게 뷰를 구성해야 합니다.
  5. 설정 파일의 변경: 모델2 아키텍처에서는 JSP 파일 대신에 Servlets를 사용하므로, 서블릿 매핑 및 URL 패턴을 변경해야 할 수도 있습니다.

이러한 변경 작업은 전체 코드 베이스를 수정해야 하므로 작업이 복잡할 수 있습니다. 따라서 전환 작업을 수행하기 전에 충분한 계획을 수립하고, 변경 작업을 적용할 때 모델2 아키텍처의 장점을 최대한 활용할 수 있도록 최적화하는 것이 중요합니다.

 

model2 변경시 dao와 controller의 기능

모델 2 아키텍처에서는 애플리케이션을 세 가지 주요 컴포넌트로 나눕니다: 모델, 뷰, 컨트롤러입니다. 각 컴포넌트의 역할은 다음과 같습니다.

  1. 모델: 데이터와 비즈니스 로직을 처리합니다.
    • DAO(Data Access Object): 데이터베이스와 상호 작용하여 데이터를 생성, 수정, 삭제, 조회하는 기능을 제공합니다.
  2. 뷰: 사용자 인터페이스를 담당합니다.
  3. 컨트롤러: 모델과 뷰 사이의 상호 작용을 관리하고, 사용자 요청에 따라 모델을 업데이트하고, 변경된 모델을 뷰에 반영합니다.

따라서, 모델2 아키텍처에서 DAO의 역할은 데이터베이스와 상호 작용하여 데이터를 생성, 수정, 삭제, 조회하는 등의 데이터 액세스 기능을 제공하는 것입니다. 컨트롤러의 역할은 사용자의 요청을 처리하고, 이를 기반으로 모델을 업데이트하고, 변경된 모델을 뷰에 반영하는 것입니다.

간단한 예시로, 사용자가 회원 가입을 하려고 할 때, 먼저 컨트롤러에서 사용자가 입력한 정보를 받아와 유효성 검사를 수행합니다. 그런 다음 DAO를 사용하여 데이터베이스에 회원 정보를 저장하고, 처리 결과를 모델에 반영합니다. 마지막으로 컨트롤러는 모델을 사용하여 처리 결과를 뷰에 반영하여 사용자에게 회원 가입이 성공적으로 이루어졌음을 알립니다.

따라서, 모델2 아키텍처에서 DAO는 데이터 액세스컨트롤러는 사용자 요청에 대한 처리를 담당하는 역할을 수행합니다.

 

 

댓글