레이어드아키텍처


title: 2026-03-23 author: 강병호 (이름) date: 2026-03-23 (날짜) category: TIL/강병호/2026/03 (파일 경로 : TIL/{이름}/{연}/{월}) layout: post (자유) —

  1. 레이어드 아키텍처 스템을 유사한 책임(관심사)을 가진 계층으로 분리하여 수직으로 배열하는 방식입니다. 각 계층은 하위 계층에만 의존하며, 자신의 책임에만 집중합니다.

일반적으로 백엔드 시스템은 목적에 따라 3~4개의 계층으로 나뉩니다.

  • 표현 계층 (Presentation Layer): 사용자의 요청을 접수하고 응답을 반환합니다. 주로 컨트롤러(Controller)가 이 역할을 담당하며, 입력 값 검증과 데이터 변환(DTO)을 수행합니다.

  • 도메인/비즈니스 계층 (Domain/Service Layer): 애플리케이션의 핵심 로직과 비즈니스 규칙을 처리합니다. 데이터 소스 계층을 이용해 실제 서비스 기능을 구현하는 곳입니다.

  • 데이터 소스 계층 (Data Source/Infrastructure Layer): 데이터베이스나 외부 API 등 외부 시스템과의 통신 및 데이터 조작을 담당합니다. (예: Repository, DAO)

  1. 장점
    • 관심사의 분리: 각 계층이 명확한 역할을 가지므로 코드의 가독성이 높아집니다.
  • 유지보수 및 확장성: 특정 레이어의 기술(예: DB 종류)을 변경하더라도 다른 레이어에 미치는 영향을 최소화할 수 있습니다.

  • 테스트 용이성: 각 계층이 분리되어 있어 특정 레이어만 모킹(Mocking)하여 독립적으로 테스트하기 수월합니다.

results matching ""

    No results matching ""