몰입하며 나아가는 개발이란

Toy

호텔 예약 웹사이트 (Hotel BuleMoon) 세미프로젝트

류하을 2020. 3. 2. 20:48

세미프로젝트에 앞서...

 시작에 앞서 이 프로젝트는 스프링 프레임워크를 사용하지 않은 팀 프로젝트이다.

사용언어는 JAVA, JavaScript, Html, CSS, JSP이며, 사용한 라이브러리는 ojdbc6와 cos 두가지로 구성되어있고, API는 카카오페이 하나만 사용하였다.


디자인 패턴

mvc model2

 디자인패턴은 Model View Controller 모델로 진행하였으며,

그중에서도 가장 많이 쓰이는 스프링프레임워크에서 사용되는 구조인 model2를 최대한 모방 하고자 하였다.


폴더 구조

semi-team-project 폴더구조

 스프링을 사용하지 않은 프로젝트이기 때문에 서블릿을 주입받지 못하여 각각의 컨트롤러가 서블릿안에서 구현이 되어있으며(컨트롤러의 갯수 또한 서블릿 갯수만큼 생성되게 된다.), 또한 Git을 사용한 프로젝트가 아니기 때문에 해당 웹 화면 하나의 컨트롤러를 같은 패키지에 모아두지 않고 팀 개개인의 이니셜을 붙여 각자 사용한 컨트롤러를 같은 패키지 안에 담았다. 버전관리 시스템(GIT)에 미숙한 상태로 프로젝트가 진행되었기에 프로젝트를 원할하게 진행하기 위한 차선책이였다.

 WebContent 폴더 아래에는 jsp 파일안에서 모든 코드가 다 들어 있지 않게 하기 위해 css, image, JS, JSP폴더로 각각 분할하였다.


클래스 구조

semi-team-project 클래스 구조

 클래스 구조 또한 각각의 서비스들과 DTO, DAO가 IOC 컨테이너를 통하여 의존성주입이 되지 않기 때문에,

DTO는 사용할 클래스에서 import하여 사용되었으며, 각 Controller에서는 각각의 서비스 객체를, 각Service에서는 각각의DAO 객체를 필드로 갖고, 컨트롤러 레벨에서 싱글톤 패턴을 통하여  model(Service, Dao)을 자유롭게 사용할 수 있게 클래스 구조를 구현하게 되었다.


기술서

(업데이트예정)


https://github.com/xyrholl/bitcampSemiProject

 

xyrholl/bitcampSemiProject

bitcampSemiProject. Contribute to xyrholl/bitcampSemiProject development by creating an account on GitHub.

github.com

 

'Toy' 카테고리의 다른 글

Coffee Order Program(kiosk)  (0) 2020.01.02
Baseball Member Manage  (0) 2019.12.03