코딩 이야기

[2022-2] 웹프로젝트 - 221124 본문

University Study/웹프로젝트

[2022-2] 웹프로젝트 - 221124

always7767 2022. 11. 24. 11:22

1) 프로젝트의 구성
- 일반적인 웹 프로젝트의 구조는 3-Tier의 구조를 활용
- Presentation tier / Business tier / Persistence tier로 구성
- 각 영역을 독립적으로 설계하여 특정 기술이 변하더라도 필요한 부분을 부품처리 쉽게 교환할 수 있께 하는 방식
      → 유지 보수의 필요성 때문에 이렇게 구성한다.

2) 각 영역의 네이밍 규칙
xxxController : 스프링 MVC에서 동작하는 Controller 클래스
xxxService, xxxServicelmpl : 비즈니스 영역을 담당하는 인터페이스는 'xxxService'라는 방식을 사용하고, 
                                                             인터페이스를 구현한 클래스는 'xxxServicelmpl'이라는 이름을 사용
- xxxDAO 또는 xxxRepository : DAO(Data-Access-Object)나 Repository(저장소)라는 이름으로 영역을 따로 구성
                                                             하는 것이 보편적 / 예제에서는 별도의 DAO를 구성하는 대신에 MyBatis의 Mapper 
                                                             인터페이스를 활용 (xxxMapper)
- VO, DTO : VO의 경우는 주로 Read Only의 목적이 강하고, 데이터도 Immutable(불변)하게 설계
                       DTO 주로 데이터 수집의 용도
                       둘 다 스프링에서 빈으로 등록하지 않음

3) 구현 순서
영속 계층 → 서비스 계층 → 컨트롤러 계층 → 화면 구현

4) 기본적인 게시물의 화면 설계
- 코딩 전에 흐름을 설계하는 것은 아주 중요
      → 화면설계를 위한 SW로 정리하는 것 필요 (Story board)

5) 페이지별 기능
- /board/list : 게시물 목록
- /board/register : 게시물 등록
- /board/get : 게시물 조회
- /board/modify : 게시물 수정, 삭제
- /board/list : 게시물 목록 with 결과 

6) 영속 계층의 구현 절차
   - 인터페이스 객체와 mapper로 DB 연동
         ① BoardVO 객체 생성
         ② BoardMapper.java 인터페이스 작성
         ③ BoardMapper.xml 작성
         ④ BoardMapperTests.java로 BoardMapper 테스트

    - 구현 기능
          ① BoardVO 객체
          ② 게시물 조회
          ③ 게시물 등록
          ④ 특정 게시물 조회
          ⑤ 게시물 삭제
          ⑥ 게시물 수정

'University Study > 웹프로젝트' 카테고리의 다른 글

[2022-2] 웹프로젝트 - 221103  (0) 2022.11.03
[2022-2] 웹프로젝트 - 221025  (0) 2022.10.25
[2022-2] 웹프로젝트 - 220920  (0) 2022.09.20
Comments