1. ERD 수정

  • 이전에 작성했던 ERD에서 member_role 엔티티의 pk를 빼는 방향으로 수정

 

2. 클래스 다이어그램 작성

  • 모델 구현만을 위한 클래스 다이어그램이기 때문에 dto와 service, dao(repository)를 비롯한 기타 클래스까지는 클래스 다이어그램에 포함하지 않음

  • Member
    • 회원 정보를 나타내기 위한 클래스
    • 자신이 작성한 게시글, 댓글과 자신이 추천한 게시글 정보를 Set으로 관리 (추가, 삭제 기능 포함)

  • Role
    • 회원의 권한 정보를 나타내기 위한 열거형 클래스
    • ADMIN(관리자) / USER(일반 유저) 의 두 가지 값을 가짐
    • Member의 Role 객체들은 Member 객체와 수명을 함께하기 때문에 합성(composition)관계로 표기

  • Post
    • 게시글 정보를 나타내기 위한 클래스
    • 게시글을 작성한 유저의 정보를 가짐
    • 게시글에 달린 댓글과 게시글의 추천 정보를 Set으로 관리(추가, 삭제 기능 포함)
    • 조회수를 나타내기 위한 viewCount 필드와 이를 증가시키는 기능 포함

  • Comment
    • 댓글 정보를 나타내기 위한 클래스
    • 댓글을 작성한 유저의 정보를 가짐

  • VoteInfo
    • 추천 정보를 나타내기 위한 클래스
    • 추천을 받은 게시글과 추천한 유저의 정보를 가짐

 

 이후 추가하게될 기능 등으로 인해 클래스가 추가될 수 있지만 이 프로젝트는 Spring 프레임워크 학습을 병행하며 단계적으로 발전시켜나가는 프로젝트이기 때문에 기본적인 사항만을 설계하고 개발에 들어가기로 한다. 다음에는 실제로 Spring 프로젝트에서 엔티티 클래스를 작성하는 작업을 진행해볼 것이다.

'프레임워크 > Spring' 카테고리의 다른 글

#13 모델 설계 1  (0) 2022.05.13
#12 Thymeleaf 3  (0) 2022.05.10
#11 Thymeleaf 2  (0) 2022.05.08
#10 Thymeleaf 1  (0) 2022.05.06
#9 MVC 구조 갖추기 - Controller/View 구현 1  (0) 2022.05.05

+ Recent posts