Controller 란?
사용자의 요청이 들어오면 응답을 해주기 위해 Service를 호출 , Service에서 실질적으로 처리한 내용,결과물을 다시 받아서 사용자에게 전달(보통 View에 전달해서 사용자가 눈으로 볼 수 있게 해준다.)해주는 역할을 하는 것
Service 란?
Controller에서 사용자의 요청을 처리하기 위해 호출하는 것으로 , Service는 알맞은 정보를 가공,처리하여 Controller에게 데이터를 넘긴다.이 때 알맞은 정보를 가공,처리하기 위한 비즈니스 로직을 수행하며 , 가공,처리하는 과정에서 필요한 데이터는 Repository를 호출해 전달받는다.
Repository란?
Entity에 의해 생성된 DB에 접근하는 메서드 들을 사용하기 위한 인터페이스로 , 쉽게 말해 DB와 연동해 원하는 정보를 생성,삭제,수정,저장,사용하는 것이다.
이해를 위해 음식점으로 예를 들자면
손님 = 사용자
서버 = Controller
주방장 = Service
주방 막내 = Repository
서버가 손님에게 주문을 받는다 ---→ 주방장에게 가서 주문받은 메뉴를 요청한다 ---→ 주방장이 요리하기 위한 재료를 주방 막내에게 가져오라고 요청한다 ---→ 막내는 창고(DB)에가서 재료를 가져온다 ---→ 주방장이 완성한 요리를 서버에게 준다 ---→ 서버가 손님에게 요리를 전달한다.
+DDD와의 관계
DDD에서도 Controller,Service,Repository는 중요한 역할을 한다.
Controller는 사용자 요청을 처리하고
Service는 도메인 로직을 처리하며
Repository는 데이터베이스와 연동해 데이터를 저장하고 읽어오는 역할을 한다.
도메인 모델의 관점에서 볼 때 이 셋은 구현체의 역할을 수행할 수 있다.
'CS' 카테고리의 다른 글
자주 사용되는 spring anotation 10가지 (0) | 2023.04.13 |
---|---|
HTTP와 HTTP method (0) | 2023.04.12 |
비즈니스 로직 (0) | 2023.04.07 |
DDD( Domain Driven Design ) (0) | 2023.04.05 |
DI( Dependency Injection )과 IoC( Inversion of Control )에 대한 간단한 설명 (0) | 2023.04.04 |