garamflow.log
로그인
garamflow.log
로그인
스프링의 레이어드 아키텍처 (Layered Architecture)
GaramFlow
·
2023년 10월 31일
팔로우
0
0
스프링의 레이어드 아키텍처
어플리케이션의 구조를 명확하게 하고 유지보수, 확장성, 보안성을 향상시키기 위해 구성을 나눈다.
(1) Client 계층
역할
UI를 제공하고 사용자 요청을 서버에 전달한다.
웹 브라우저나 모바일 앱이 클라이언트 역할을 한다.
목적
사용자에게 편리한 방식으로 애플리케이션과 상호작용할 수 있는 환경을 제공한다.
(2) Controller
역할
프레젠테이션 계층 담당한다.
클라이언트로부터 요청을 받고 적절한 서비스 메소드 호출해서 처리한 후 결과를 클라이언트에게 반환한다.
목적
클라이언트와 서버 사이 상호작용을 관리한다.
요청을 적절한 서비스 로직으로 라우팅한다.
(3) Service
역할
비지니스 로직 계층을 담당한다.
애플리케이션의 핵심 기능과 비지니스 규칙을 구현하고 데이터 액세스 계층과 상호작용한다.
목적
데이터 처리, 계산, 조건 판단 등 애플리케이션의 핵심 로직을 담당한다.
재사용성과 유지보수성을 향상시킨다.
(4) Repository
역할
데이터 액세스 계층을 담당한다.
데이터베이스와의 상호작용을 관리하고 데이터 조회, 저장, 수정, 삭제 등을 수행한다.
목적
데이터 관련 작업을 추상화 및 표준화한다.
데이터와 비지니스 로직의 분리한다.
(5) Database
역할
데이터를 저장하고 관리하는 시스템이다.
애플리케이션의 데이터가 저장되고 필요한 데이터를 조회 및 변경한다.
목적
데이터를 영구적으로 저장한다.
무결성과 보안을 보장한다.
GaramFlow
간단한 지식 저장 및 공유를 위한 블로그입니다.
팔로우
이전 포스트
[Spring] DI(의존성 주입)와 IoC(제어의 역전)에 대해서
다음 포스트
[Spring] 스프링 Controller 구현 및 관련 어노테이션 알아보기
0개의 댓글
댓글 작성