CODEDRAGON ㆍDevelopment/JSP
MVC 패턴
· Layered Architecture를 사용한 대표적인 패턴입니다.
· MVC란 Model, View, Controller를 뜻하는 용어로 개발 형태의 일종 입니다.
· 소프트웨어 공학에서 사용되는 아키텍쳐 패턴으로 MVC 패턴의 주 목적은 Business logic과 Presentation logic을 분리하기 위해서 입니다. 이렇게 작업을 분할하면, 추후 유지보수에 좋습니다.
· MVC 패턴으로 개발하면, 사용자 인터페이스로 부터 비즈니스 로직을 분리함으로써 애플리케이션의 시각적인 요소나 그 안에서 실행되는 비즈니스 로직에 대해 서로 영향을 주지 않게 애플리케이션을 구현할 수 있습니다.
· UI를 가지는 대부분의 어플리케이션들은 MVC 또는 변형된 MVC 패턴을 사용합니다.
· Angular, Android, iOS, SpringMVC 등
모델 (Model) |
· 비즈니스 영역의 상태 정보를 처리합니다. · Model은 데이터베이스와의 관계를 담당합니다. · 클라이언트의 요청에서 필요한 자료를 데이터베이스로부터 추출하거나, 수정하여 Controller로 전달 합니다. · 애플리케이션의 정보(데이터, Business Logic 포함) · 데이터 저장소(데이터베이스 등)와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다루는 일을 담당합니다. · 여러 개의 데이터 변경 작업(추가, 변경, 삭제)을 하나의 작업으로 묶는 트랜잭션을 다루는 관리작업도 수행합니다. · DAO 클래스, 비즈니스 로직을 가지고 있는 Service 클래스가(Command 클래스) 여기에 해당됩니다.
|
뷰 (View) |
· 비즈니스 영역에 대한 프레젠테이션 뷰를 담당합니다. · View는 사용자한테 보여지는 UI 화면 입니다. · 사용자 요청(입력)을 처리합니다. · 주로 .jsp파일로 작성 하며, Controller에서 어떤 View 컴포넌트를 보여줄지 결정 합니다. · 사용자에게 제공할 화면(Presentation Logic)입니다. · Model이 처리한 데이터나 그 작업 결과를 가지고 사용자에게 출력할 화면을 만드는 작업을 합니다. · 생성된 화면은 웹 브라우저가 출력하고, 뷰 컴포넌트는 HTML과 CSS, Java Script를 사용하여 웹 브라우저가 출력할 UI를 만듭니다. · Html과 JSP를 사용하여 작성할 수 있습니다.
|
컨트롤러 (Controller) |
· 사용자의 입력 및 흐름 제어를 담당합니다. · Controller는 클라이언트의 요청을 받고, 적절한 Model에 지시를 내리며, Model에서 전달된 데이터를 적절한 View에 전달 합니다. · Model과 View 사이의 상호 작용을 담당합니다. · 클라이언트의 요청을 받았을 때 그 요청에 대해 실제 업무를 수행하는 모델 컴포넌트를 호출하는 역할을 합니다. · 클라이언트가 보낸 데이터가 있다면, Model을 호출할 때 전달하기 쉽게 데이터를 적절히 가공하는 역할도 수행합니다. · Model이 업무 수행을 완료하면, 그 결과를 가지고 화면을 생성하도록 View에게 전달합니다. (클라이언트 요청에 대해 모델과 뷰를 결정하여 전달합니다.) · Servlet과 JSP를 사용하여 작성할 수 있습니다. |
'Development > JSP' 카테고리의 다른 글
POSTMAN - download(다운로드) (0) | 2019.04.17 |
---|---|
파일 업로드 구현, 기존 클래스를 통한 파일 업로드 작업, MultipartRequest를 이용한 파일 업로드 작업 (0) | 2019.04.08 |
MVC 특징 (0) | 2019.04.06 |
MVC 모델 1 구조 (Model 1) (0) | 2019.04.05 |
XAMPP Apache Server Port 변경하기 1 (0) | 2019.04.03 |