인프런 커뮤니티 질문&답변

home님의 프로필 이미지
home

작성한 질문수

Microservice 내부 아키텍처 와 EventStorming 설계

레이어드 아키텍처

컨트롤러 관련해서 질문이 있습니다!!

해결된 질문

작성

·

326

0

강사님.
Controller에 사용자의 요청이 캡슐화되어 전달되어지면서 실제 요청하는 URL과 매핑되어있는 처리 메소드가 호출되는 구조로 알고있습니다!
따라서, Controller는 핸들러와 비슷한 개념인거 같은데...
어째서 표현 계층에 속하는 것인지요 ?
컨트롤러가 사용자의 요청을 전달받기 때문일까요 ?

 

답변 1

1

han jeong heon님의 프로필 이미지
han jeong heon
지식공유자

네 언급하신바 와 같이 컨트롤러는 사용자 (예 브라우저, 웹 또는 명령어 창)과 비지니스 로직을 연결해 주는 역할을 수행하며 사용자의 요구변화(REST API, 모바일앱, 커맨드 등) 에 따라 적절히 대응해줘야 하는 계층입니다.

왜냐하면 이런 사용자 요구변화에 비즈니스 로직이 영향을 가급적이면 받지 않게 하기 위해서죠.

그런 의미에서 일반적으로 표현(프리젠테이션) 계층이라 이라 부릅니다.

아마도 클라이언트쪽 핸들러 개념과 헷갈리시는 것 같은데 보통 자바 엔터프라이즈 아키텍처에서 비지니스 로직의 흐름 제어는 비지니스 로직 계층의 응용 서비스 클래스가 담당하고 프리젠테이션의 컨트롤러는 클라이언트가 요구하는 형태(DATA,프로토콜)에 대한 변환에 집중하는 역할을 수행한다고 보면 됩니다.

home님의 프로필 이미지
home

작성한 질문수

질문하기