hyeonga_code

PreProject_01_MVC 모델 짚고 넘어가기 본문

Project_HYEONGARL

PreProject_01_MVC 모델 짚고 넘어가기

hyeonga 2024. 5. 11. 08:59
반응형

 

보통 웹 애플리케이션을 개발할 때 디자이너가 화면을, 데이터페이브 연동 등의 비즈니스 로직은 프로그래머가 작성

 

웹 애플리케이션 모델

많이 사용하는 표준화 소스 구조를 의미합니다.

 

 

웹 애플리케이션 모델 종류

모델 1 방식

데이터베이스 연동 같은 비즈니스 로직 작업과 결과를 나타내는 작업을 동일한 JSP에서 수행합니다.

클라이언트의 요청과 비즈니스 로직 처리를 JSP가 담당하는 구조입니다.

 

기능 구현이 쉽고 편리하지만 기능이 복잡해지면 화면 기능과 비즈니스 로직이 섞여 유지보수가 어려워집니다.

디자이너가 비즈니스 로직 기능도 알아야 작업하기 쉽지 않습니다.

코드 재사용성이 떨어집니다.

 

 

모델 2 방식

웹 애플리케이션의 각 기능(클라이언트 요청 처리, 응답 처리, 비즈니스 로직 처리)를 분리해서 구현합니다.

객체 지향 프로그래밍에서 각 기능을 모듈화하여 개발하는 것과 같은 원리입니다.

 

필요한 기술이나 개념을 숙지해야 하는 번거로움이 있으나 자신이 맡은 부분만 개발하면 되므로 효율적인 개발 방식입니다.

개발 후 서비스를 제공할 대도 유지보수가 편할 뿐만 아니라 개발한 모듈들은 비슷한 프로그램을 만들 때 사용할 수 있어 코드의 재사용성이 높습니다.

 

 

모델 2의 MVC 모델

MVC Model-View-Controller

웹 애플리케이션을 화면, 요청 처리, 로직 처리 부분으로 나누어 개발하는 방법입니다.

 

각 기능이 분리되어 개발 및 유지보수가 편리합니다.

각 기능의 재사용성이 높아집니다.

디자이너와 개발자의 작업을 분업화하여 쉽게 개발할 수 있습니다.

 

컨트롤러 :

- 사용자로부터 요청을 받아 비즈니스 로직을 처리해야 할지 제어

- 사용자의 요청 및 흐름 제어

- 서블릿이 컨트롤러의 역할을 합니다.

- 클라이언트의 요청을 분석합니다.

- 요청에 대해 필요한 모델을 호출합니다.

- 모델에서 처리한 결과를 보여주기 위해 JSP 를 선택합니다.

 

모델 :

- 데이터베이스 연동과 같은 비즈니스 로직을 처리

- DAO와 VO 클래스로 이루어져 있습니다.

 

뷰 :

- 모델에서 처리한 결과를 화면에 구현하여 클라이언트로 전송

- JSP 가 화면 기능을 담당합니다.

 

 

Controller

1. 입력 처리

사용자로부터의 입력을 받아들입니다.

HTTP 요청 형태로 이루어질 수 있으며 이 요청을 분석하여 어떤 모델 메소드를 호출할지 결정합니다.

 

2. 모델과의 상호 작용

모델을 호출하여 데이터 생성, 조회, 수정, 삭제 등의 작업을 수행합니다.

이 과정에서 비즈니스 로직이 실행됩니다.

 

3. 데이터 포맷 결정

모델로부터 받은 데이터를 가공하고 적절한 뷰 포맷으로 준비합니다.

HTML, JSON, XML 등의 형태로 데이터를 변환할 수 있습니다.

 

4. 뷰 선택 및 렌더링

최종적으로 선택된 데이터를 사용하여 뷰를 생성하고 이를 사용자에게 보여줍니다.

템플릿 엔진을 사용할 수 있습니다.

반응형

'Project_HYEONGARL' 카테고리의 다른 글

PreProject_06_Controller  (0) 2024.05.13
PreProject_05_ResponseEntity<>  (0) 2024.05.13
PreProject_04_Spring Web Layer  (0) 2024.05.13
PreProject_03_ORM(Object-Relational Mapping) 을 위한 Entity Class  (0) 2024.05.12
PreProject_02_REST  (0) 2024.05.11