일단 이렇게 3 계층으로 나눠진 것은 레이어드 아키텍처(Layered Architecture) 패턴에 따라 수평으로 나눠 관리하는 것이다.
레이어드 아키텍처란
: 애플리케이션의 컴포넌트를 유사 관심사를 기준으로 레이어로 묶어 수평적으로 구성한 구조를 의미
Controller - 프리젠테이션 계층
- 유저 인터페이스 (UI) 계층이라고도 함
- 애플리케이션의 최상단 계층으로 클라이언트의 요청을 해석하고 응답하는 역할
- UI 나 API를 제공
- 클라이언트와의 접점
- 별도의 비즈니스 로직을 포함하고 있지 않으므로 비즈니스 계층을 요청하고 위임하고 받은 결과를 응답하는 역할을 수행
Service - 비즈니스 계층
- 애플리케이션이 제공하는 기능을 정의하고 세부 작업을 수행하는 도메인 객체를 통해 업무를 위임하는 역할을 수행
- 핵심 비즈니스 로직을 구현하는 영역
- 트랜잭션 처리 등의 작업도 수행
Repository - 데이터 접근 계층
- 영속(Persistence) 계층이라고도 함
- 데이터베이스에 접근해야 하는 작업을 수행
출처: 스프링 부트 핵심 가이드: 스프링 부트를 활용한 애플리케이션 개발 실무 (장정우 저, 위키북스 2022)
'스프링' 카테고리의 다른 글
HTTP method 종류 (0) | 2023.11.06 |
---|---|
Controller - Service - Repository 구조 (0) | 2023.11.03 |
스프링 Controller 간단 구현 (0) | 2023.11.02 |
핸들러(handler) 개념 (0) | 2023.11.02 |
IoC 와 DI (0) | 2023.10.30 |