1. 컨트롤러, 서비스, 리포지토리의 역할
컨트롤러 (Controller)
- HTTP 요청을 받아 처리하는 역할
- 요청에 대한 처리 결과를 HTTP 응답으로 반환하는 역할
- 클라이언트와 서버 간의 인터페이스 역할을 수행
서비스 (Service)
- 비즈니스 로직을 처리하는 역할
- 트랜잭션 관리를 위한 역할
- 여러 개의 리포지토리를 조합하여 하나의 기능을 수행하는 경우가 많다.
리포지토리 (Repository)
- 데이터베이스와의 인터페이스 역할을 수행
- 데이터베이스에 대한 CRUD(Create, Read, Update, Delete) 작업을 처리하는 역할
- JPA를 사용하는 경우, 엔티티 객체를 데이터베이스에 저장하고 조회하는 기능을 제공
컨트롤러, 서비스, 리포지토리는 각각의 역할에 따라 적절한 분리가 필요하며, 이를 통해 유지보수성과 확장성을 높일 수 있다.
2. TDD를 하는 이유
TDD(Test Driven Development)는 테스트 기반 개발이라는 의미로, 테스트 케이스를 먼저 작성하고 그것을 통과하는 코드를 만드는 개발 방법론이다.
장점
1. 높은 품질의 코드를 작성할 수 있다.
테스트 케이스를 먼저 작성하고 그것을 통과하는 코드를 만드는 것이기 때문에, 높은 품질의 코드를 만들 수 있다.
2. 개발 시간을 단축시킬 수 있다.
개발자가 빠르게 테스트를 실행할 수 있으므로 디버깅 시간이 줄어들고 빠르게 코드를 수정할 수 있다.
3. 코드 유지보수가 쉬워진다.
TDD를 통해 만들어진 코드는 테스트 케이스를 통해 검증되었으므로 유지보수가 쉬워진다.
새로운 기능을 추가할 때도, 해당 기능에 대한 테스트 케이스를 작성하고 그것을 통과하는 코드를 만들어 나갈 수 있다.
대외활동/GDSC
2주차 정리내용
728x90