Java

[Java] MVC패턴 이해하기

didue 2019. 4. 20. 22:44
반응형

훈련과정 60일차!!

Java -> Oracle DataBase -> HTML/CSS -> jQuery단계를 지나 드디어 JSP시작했다!

이제 본격적으로 게시판만들기 연습한다고 한다. 

이전까지는 눈에보이는 결과가 없으니 제자리걸음 동동 같았는데 드디어 뭔가 만들어내는 것 같다!

매일매일의 공부하는 내용의 정리와 고찰의 단계를 적기위한 과정의 첫 스텝, 첫 포스팅이다ㅎ.ㅎ

 

 

 


 

 

 

게시판을 구현하기에 앞서, 구현하고자 하는 게시판의 구조를 이해하고 가자!

구현하려고 하는 게시판을 하나의 어플리케이션이라고 한다면 어플리케이션의 역할에 따라

영역을 구분하여 로직을 분리하는 구조화를 할 필요가 있다!

그 구조화하는 일련의 과정을 일명 MVC패턴이라고도 할 수 있겠다.

 

 

 MVC 패턴 이란?

어플리케이션을 Model, View, Controller의 영역으로 구분하여 영역간의 결합도를 소화한 패턴이다.

 

- Model : 데이터, 비즈니스로직(연산작업) 등의 작업을 하는 영역

- Controller : 뷰와 모델 사이의 조정 역할,

                      사용자로부터 요청을 받아 데이터를 호출하고 수행된 로직의 결과를 뷰를 통해 응답으로 반환

- View : 클라이언트의 요청에 따른 응답페이지 

 

 

 

 

 

MVC 모델은 모델1과 모델2로 분류할 수 있는데,

- MVC 모델 1은 Controller와 View가 합쳐져 별도의 Controller가 없는 것으로 비즈니스로직의 분리와 뷰의 재활용성이 떨어진다.

  그렇기때문에, 개발기간이 짧은 소규모 프로젝트나, 변경사항이나 요구사항이 적을경우 빠르게 개발할 수 있다는 장점이 있다.

 

- MVC 모델 2는 우리가 아는 MVC패턴이다. MVC패턴의 가장 중요한 장점 중 하나는 비즈니스 로직과 프리젠테이션 로직이

  분리되었다는 것이다. 즉, 디자이너와 개발자들의 영역이 분리됨으로써 서로 각자의 영역에 더 집중할 수 있다는 장점이 있다.

 

 

 

 

 


 

 

 

 

 게시판 프로젝트 구조 설계 

 

 

 

이번에 연습으로 만들어볼 게시판 프로젝트의 구조는  MVC 모델1의 형태로 

Controller를 구현하지 않고, DB와 DAO/DTO/View의 구조를 갖도록 할 예정이다.

 

 

- Server : Apache Tomcat v9.0

- DAO(Data Access Object) : 데이터베이스에 접근을 위한 객체

- DTO(Data Transfer Object) :  데이터를 오브젝트로 변환하는 객체

- JDBCTemplate : DAO객체가 데이터베이스에 접근할 때, Connection 객체와 Driver를 준비하는 과정을 

   템플릿으로 구성해놓고자 한다.

 

반응형