본문 바로가기
개발일지/일간회고 (TIL)

레이어드 아키텍처 패턴

by 윤승임 2022. 12. 6.

백엔드 API를 개발할 때, 쓰이는 패턴이다.

 

Presentation 계층

사용자와의 상호 작용을 처리하는 계층

CLI, HTTP 요청, HTML 처리 등을 담당

HTTP 요청 처리 및 HTML 렌더링에 대해 알고 있는 웹 계층

흔히 말하는 MVC (Model / View / Controller) 도 이 계층에 속한다.

URL을 매핑해서 특정 메서드가 해당 URL로 요청이 올 때마다 호출되게 프로그래밍하는 계층

스프링에서는 @Controller 어노테이션을 사용하여 표현

 

Domain(Business or Service) 계층

서비스/시스템의 핵심 로직

유효성 검사 및 계산을 포함하는 Business 논리 계층

애플리케이션이 수행해야하는 도메인과 관련된 작업들을 담당

입력/저장된 데이터를 기반으로 계산

Presentation 계층에서 받은 데이터의 유효성 (Validation) 검사

어떤 Data Access 를 선택할지 결정

Presentaion, Data Access계층에는 별로 할 일이 없고, 도메인 계층이 비대해지는게 가장 좋다.

스프링에서는 @Service 어노테이션을 사용해서 표현

 

Data Access(Persistence) 계층

DAO (Data Access Object) 계층

Database / Message Queue / 외부 API와의 통신 등 처리

데이터베이스 또는 원격 서비스에서 영구 데이터를 관리하는 방법을 분류하는 데이터 접근 계층

스프링에서는 @Repository 어노테이션을 사용해서 표현

'개발일지 > 일간회고 (TIL)' 카테고리의 다른 글

annotation에 대해  (0) 2022.12.08
Java Spring MVC (Model - View - Controller)  (0) 2022.12.07
왜 안되는걸까  (0) 2022.12.06
Java 테스트 코드  (0) 2022.12.04
자바(Java) Interface, Stream, Optinal  (0) 2022.12.01