본문 바로가기

Develop/WEB

레이어드 아키텍쳐(Layered Architecture)

🔴레이어드 아키텍쳐(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