1. 클래스 설계 - 유스케이스
유스케이스 클래스에 대한 설계입니다. 서비스에서 구현될 유스케이스를 정의하는 인터페이스로 구성되어 있습니다. 이전 패키지 구조에서 여러 개로 나뉘어 있던 UseCase중 CRUD 기능들은 하나로 묶어서 정의하였습니다.
2. UseCase
각 도메인 패키지 아래의 usecase 패키지가 입니다. 기본적인 CRUD를 구현한 유스케이스와 부가 기능을 가진 유스케이스가 존재합니다.
2.1 User
User 도메인 패키지 아래의 유스케이스 입니다. CRUD 유스케이스와 login 유스케이스로 분리되어 있습니다.
User CRUD를 정의한 유스케이스입니다. 회원 가입, 수정, 삭제, 정보 조회 기능을 가지고 있습니다.
User login을 정의한 유스케이스입니다. 현재는 로그인에 관한 유스케이스 밖에 존재하지 않으나 차후 아이디 찾기나 비밀번호 찾기와 같은 서비스가 추가될 가능성이 있습니다.
2.2 Post
Post 도메인 패키지 아래의 유스케이스입니다. CRUD 유스케이스와 인기글에 대한 RecommendUseCase가 존재합니다.
Post의 CRUD를 정의한 유스케이스입니다. 게시글 생성, 수정, 삭제, 조회가 존재하며 조회에는 선택한 게시글 내용에 대한 조회와 각종 검색 조건들을 통한 검색이 존재합니다. 검색 조건에 사용될 PostSearchCond 클래스가 post.application.dto 아래에 새로 생성되었습니다.
Post의 추천 기능과 관련된 유스케이스입니다. 추천과 비추천 수를 조작하는 메서드와 인기글 변경 메서드 그리고 인기글 조회를 위한 메서드가 존재합니다.
2.3 Comment
Comment 도메인 패키지 아래의 유스케이스입니다. CRUD 유스케이스가 정의되어 있습니다.
Comment의 CRUD가 정의된 유스케이스입니다. 댓글 생성, 수정, 삭제, 조회가 존재합니다.
2.4 Photo
Photo 도메인 패키지 아래의 유스케이스입니다. CRUD 유스케이스가 정의되어 있습니다.
Photo의 CRUD가 정의된 유스케이스입니다. Photo의 경우 이미지 파일에 대한 엔티티로 수정 시 존재하는 이미지를 삭제 후 새로 삽입하게 되어 수정에 관한 메서드는 존재하지 않습니다.
'개인 프로젝트 > Toy & Side' 카테고리의 다른 글
[TOY] 설계 - Adapters (Controller 제외) (0) | 2024.11.03 |
---|---|
[TOY] 설계 - Application (1) | 2024.10.28 |
[TOY] 설계 - 도메인 (1) | 2024.10.09 |
[TOY] 설계 - 데이터베이스 DataBase (0) | 2024.10.06 |
[TOY] 설계 - 아키텍처[Hexagonal] & 패키지 (4) | 2024.10.03 |