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

1주차 서술과제 #3

Open
woals2840 opened this issue Oct 11, 2024 · 0 comments
Open

1주차 서술과제 #3

woals2840 opened this issue Oct 11, 2024 · 0 comments
Assignees

Comments

@woals2840
Copy link
Collaborator

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

1. 클래스간 역할

DiaryController

  • 사용자의 요청을 처리하고 DiaryService를 호출 후 결과값을 반환받는다.
  • 사용자의 입력 값(id,body)에 대해 유효성을 검사한다.

DiaryService

  • 실질적인 비지니스 로직을 수행한다.
  • Controller가 요청된 작업을 수행하기 위해 호출할 수 있는 메소드를 제공한다.
  • Repository와 데이터를 주고 받으며 결과물을 Controller에 전달한다.

DiaryRepository

  • 저장소(storage)에 다이어리 데이터(id, body)를 저장(save), 불러오는(findall()) 역할을 한다.
  • 데이터베이스에 테이블에 접근하여 데이터를 관리한다.
  • CRUD(Create, Read, Udate, Delete)작업을 수행한다.

2. 역할 분리의 이유 및 장점

  • 코드를 더 명확하게 구조화 하고 역할을 분리하여 유지보수성을 향상시킨다.
  • 안전성 -> Controller에서 Repository를 직접 참조하는 것은 좋지 못 하다. 정보를 직접 CRUD하고 가공하는 과정에서 데이터베이스에 저장된 정보가 손상될 우려가 있기 때문이다.
@woals2840 woals2840 self-assigned this Oct 11, 2024
@woals2840 woals2840 reopened this Oct 11, 2024
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