🔴레이어드 아키텍쳐(Layered Architecture)
소프트웨어를 여러 개의 계층으로 분리해서 설계
(Presentation Layer - Business Layer / Application Layer - Persistence Layer / Data Access Layer - Database Layer)
❓그럼 왜 분리해서 설계할까?
> 하나의 계층에 여러개의 기능이 있으면 해당 계층의 응집도가 떨어지고 결합도가 높아짐
응집도를 높이고 결합도를 낮추기 위해서 >> 재사용성과 유지보수성을 높일 수 있음
🟢Presentation Layer
이름에서 알 수 있듯이 보여주는 계층, 한마디로 인터페이스와 애플리케이션이 연결되는 곳
사용자 인터페이스(UI)를 담당하며, 사용자의 입력값을 검증하고 비즈니스 로직에 따라 결과를 표시
🟢Business Layer / Application Layer
이 두개가 비슷한 듯 다르다
두 계층 모두 프레젠테이션 계층과 데이터 접근 계층 사이에 위치하고
비즈니스 프로세스를 처리하는 역할을 수행한다
차이점이라면
Business Layer는 비즈니스 로직과 규칙을 구현 > 순수 비즈니스 로직에 집중
Application Layer는 애플리케이션의 전반적인 흐름 제어 및 조정 > 사용자 요청 처리, 비즈니스 로직 호출 및 조정
트랜잭션의 시작과 끝을 담당
🟢Persistence Layer / Data Access Layer
DB나 파일에 접근하여 데이터를 CRUD
🟢Database Layer
애플리케이션의 모든 영구 데이터를 저장, 제약 조건, 외래키 관계등을 통해 데이터의 무결성을 유지
실제 데이터베이스 시스템과 그 관리
정확히 위의 4계층으로 나뉜다기 보다는 상황에 따라 3단계 / 5단계로 나뉘기도 한다.
'Develop > WEB' 카테고리의 다른 글
DDD(Domain Driven Design) - 도메인 주도 설계 (3) | 2024.10.06 |
---|---|
클린 아키텍쳐(Clean Architecture) (0) | 2024.10.06 |
HTTP 메서드(2) / 상태코드 (0) | 2024.10.02 |
HTTP 메세지 & 메서드 (1) | 2024.09.30 |
HTTP 기본 특징 (2) | 2024.09.30 |