Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SEMINAR 1] diary api #3

Open
seoyeonjin opened this issue Oct 8, 2024 · 0 comments
Open

[SEMINAR 1] diary api #3

seoyeonjin opened this issue Oct 8, 2024 · 0 comments

Comments

@seoyeonjin
Copy link
Collaborator

클래스 다이어그램을 그려주세요.

diary-diagram

  • 합성 관계: 부분 객체가 전체 객체에 속하는 관계. 라이프타임이 종속적. new로 선언해서 사용
  • 의존 관계: 참조를 계속 유지하지 않고 메서드의 호출이끝나면 사용한 클래스와의 관계가 마무리됨

코드 클래스간 역할에 대해 설명하고, 이렇게 역할을 분리해서 얻은 장점과 분리하는 이유에 대해 고민해보고 서술해주세요.

클래스간 역할

  1. DiaryController
    1. 클라이언트의 요청을 받아 해당 요청에 대한 서비스를 호출한다.
    2. 클라이언트 전달 값에 대한 유효성을 검증한다.
  2. DiaryService
    1. 비즈니스 로직을 처리한다.
    2. 데이터베이스와 상호작용하기 위해 레포지토리를 호출한다.
  3. DiaryRepository
    1. 데이터를 저장하고 검색하는 기능을 담당한다.
  4. Diary
    1. 일기 데이터 구조를 표현한다.
    2. 일기를 표현하는 단순한 구조체 역할을 하며 다른 클래스에서 사용된다.

역할 분리 장점

  1. 재사용하기 쉬워진다.
    1. 각 클래스를 독립적으로 재사용할 수 있다.
  2. 유지보수하기 쉬워진다.
    1. 코드 변경이 필요할 때 해당 클래스만 수정하면 된다.
    2. 이 모든 코드가 하나의 파일에 존재한다면 코드가 길어지고 읽기 어려워질 것이다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant