레이어드 아키텍처
Spring Boot는 Layered Architecture 방식입니다.
Layered Architecture 이란? :
layer 들이 다른 layer들과 통신하는 것을 의미합니다.
즉 각 계층이 서로 독립적으로 구성되어 있어서 한 계층의 변경이 다른 계층에 영향을 주지 않게 설계하는 방법
이는 효율적인 개발과 유지보수를 위해 애플리케이션을 계층화하여 개발하는 것을 의미합니다.
이와 같은 예시로 OSI 7 계층이 있습니다.
주의 :
레이어드 아키텍처의 구성은 하나로 정해져 있지 않고 애플리케이션의 크기와 복잡도 등 다양한 요소에 따라 변할 수 있다. 따라서 그냥 이런 식으로 계층 구조를 만들 수 있고 만드는구나 정도로 생각하면 편하다.
오늘은 3 계층으로 나누어 설명해 보겠습니다.
- 프레젠테이션 계층 ( Presentation Layer )
- 비즈니스 계층 ( Business Layer ) 또는 서비스 계층 ( Service Layer )
- 데이터베이스 계층 ( Database Layer )
프레젠테이션 계층
- 클라이언트와 가장 가가운 계층이면서, 클라리언트와 시스템 간의 상호작용을 합니다.
- UI를 담당하며, 사용자의 입력값을 검증하고 비즈니스 로직에 따라 결과를 표시합니다.
- 로직을 처리하지 않아야 해 단순 UI 표현 역할만을 수행합니다.
비즈니스 계층
- 실제 모든 비즈니스 로직을 수행합니다.
- Service로 구성되어 있으며, 확인과 권한부여를 담당합니다.
- 프레젠테이션 계층으로부터, 사용자의 요청을 전달받고 해당 요청을 실질적으로 처리하는 부분입니다.
데이터베이스 계층
- 실제 데이터베이스를 가리킵니다.
마침
사실 이보다 엄청 많고 다양한 계층들이 존재합니다. 지금 제 수준으론 이 정도 계층으로 나누어서
생각하는 게 개발을 할 때 도움이 될 것 같아 이 정도만 정리했습니다. 개발이 더 익숙해지고 게시판 같은 것뿐만 아니라 실제 비즈니스 로직들을 구현해 보는 정도가 되면 더 많은 계층으로 정리해 보겠습니다.
'TIL' 카테고리의 다른 글
컨테이너, 도커, 쿠버네티스가 뭐길래 사람들이 그래? (1) | 2024.12.16 |
---|---|
번아웃 왔을때 짧게 둘러보는 심리학 (0) | 2024.10.14 |
재미있는 심리 게임과 이론! (2) | 2024.10.07 |
Diffie-Hellman (디피-헬만) 키 교환 (0) | 2024.09.10 |
블록체인과 비트코인 (4) | 2024.08.31 |