본문 바로가기

cs(with 매일메일)

[260323월] 레이어드 아키텍처란 무엇인가요?

레이어드 아키택처(Layered Architecture)란, 소프트웨어를 관심사별로 여러 계층으로 나누어 수직적으로 배열한 것

관심사란? 유사한 책임들을 의미한다. ex. 데이터베이스 접근 관련

 

대표적인 구성으로 3가지 레이어가 존재한다. 

1. 표현 계층 : 사용자 입력 처리

2. 도메인 계층 : 비즈니스와 관련된 로직 수행

3. 데이터 소스 계층 : 데이터에비스 접근 및 데이터 조작과 관련된 작업을 수행

 

싱크홀 안티 패턴이란?

일반적으로 레이어드 아키텍처에서 요청은 상위 데이어에서 중간 레이어를 거쳐 하위 레이어로 전달된다. 

이때, 중간 레이어는 아무 일도 하지 않음에도 불구하고 요청을 무작정 중간 레이어를 통과시키는 것을 싱크홀 안티 패턴이라 한다. 

> 불필요한 코드 작성, CPU 및 메모리 자원 낭비

> 일관성 유지라는 장점은 있음