Spring 공부를 시작하고 나서 어제 그제 이틀 동안은 DB 연결 문제가 있어 수업을 제대로 따라가지 못했다 ㅠㅠ
하지만 오늘 자고 일어나서 코드를 다시 써보니 됐다. 달라진 게 없는데 왜 여태 안되다가 이제는 될까??
오늘 배운 3 Layer Architecture에 대해 서술해 보겠다.
3 Layer Architecture
지금까지 만든 수업을 진행하며 만들었던 메모장 프로젝트는 Controller 클래스 하나로 모든 API를 처리하고 있었다.
하지만 나중에 코드가 복잡해지면 문제가 생길 수 있기 때문에 Controller, Service, Repository 3개로 분리해 놓았고 각각 하는 역할을 정리해 본다면
1. Controller :
- 클라이언트의 요청을 받고, 로직 처리는 Service에게 전달한다.
- Service에서 처리 완료된 결과를 클라이언트에게 응답한다.
2. Service
- 사용자의 요구사항을 처리
- DB 저장 및 조회가 필요할 때는 Repository에게 요청
3. Repository
- DB 관리 (연결, 해제, 자원 관리)
- DB CRUD 작업 처리
이렇게 정리할 수 있었고 실습을 진행하며 어떤 식으로 분리가 되는지 실습도 진행해 보았다!!
'개발 공부 > TIL' 카테고리의 다른 글
[TIL 2024-01-11 ] SOLID 좋은 객체 지향 설계 5가지 법칙 (4) | 2024.01.11 |
---|