03 애플리케이션 구현 준비

shin·2023년 8월 20일
0

1. 구현 요구사항

1) 회원 기능

  • 회원 등록
  • 회원 조회

2) 상품 기능

  • 상품 등록
  • 상품 수정
  • 상품 조회

3) 주문 기능

  • 상품 주문
  • 주문 내역 조회
  • 주문 취소


2. 애플리케이션 아키텍처

계층형 구조 사용

Controller, web : 웹 계층

  • 웹 MVC의 컨트롤러 역할
  • 웹 요청과 응답을 처리함
  • 클라이언트가 요청을 하면, 요청을 수행하는 서비스를 호출함
  • HTTP 요청과 요청된 정보를 체크하고, 인증을 담당함

Service : 비즈니스 로직, 트랜잭션 처리

  • 핵심 비즈니스 로직 구현
  • Repository를 이용해서 CRUD를 구현함
  • 내부에서 자바 로직을 처리함

Repository : JPA를 직접 사용하는 계층, 엔티티 매니저 사용

  • 데이터베이스에 접근
  • 도메인 객체를 DB에 저장하고 관리
  • 실제 DB에 쿼리문을 실행하는 로직을 담당함

Domain : 엔티티가 모여있는 계층으로 모든 계층에서 사용

  • 비즈니스 도메인 객체
  • 실제 DB 테이블 정보를 가지는 하나의 Entity 클래스를 생성하고 해당 Entity를 컨트롤함

Controller -> Repository

  • 간단한 정보 조회 기능과 같은 경우에는 Controller에서 Repository로 바로 접근하도록 구현할 수 있음
  • Service는 단순히 Controller가 요청한 내용을 Repository에게 위임하는 것 뿐일때도, Serivce를 거쳐야만 구현이 가능하도록 설계하는 것은 유연성이 떨어질 수 있기 때문

패키지 구조

  • jpabook.jpashop
    • domain
    • exception
    • repository
    • serivce
    • web

개발 순서

  • 서비스와 리포지토리 계층을 개발
  • 테스트 케이스를 작성해서 검증
  • 마지막에 웹 계층을 적용함


강의 : 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

profile
Backend development

0개의 댓글