반응형
정의
- 계층화 패턴은 하나의 프로그램을 그룹 또는 서브 프로그램으로 계층화(구조화) 하기 위한 패턴이며, 각 계층은 추상화 개념을 가진다. 그리고 또한 각 계층은 상위계층에 서비스를 제공한다.
- 소프트웨어 디자인 패턴과는 유사하지만, 좀 더 큰 개념을 지칭.
- 이 패턴은 n-티어 아키텍쳐 패턴이라고도 불린다. 이는 하위 모듈들의 그룹으로 나눌 수 있는 구조화된 프로그램에서 사용할 수 있다. 각 하위 모듈들은 특정한 수준의 추상화를 제공한다.
일반적인 정보 시스템에서 공통적으로 볼 수 있는 계층 4가지는 다음과 같다.
- 프레젠테이션 계층 (Presentation layer) - UI 계층 (UI layer) 이라고도 함
- 사용자와 상호 작용 처리 계층
- CLI, HTTP 요청, HTML 처리 등을 담당한다.
- HTTP 요청 처리 및 HTML 렌더링에 대해 알고 있는 웹 계층
- 흔히 말하는 MVC (Model / View / Controller) 도 이 계층에 속한다.
- 애플리케이션 계층 (Application layer) - 서비스 계층 (Service layer) 이라고도 함
- 오직 작업을 조정하고 아래의 위치한 도메인 계층에게 작업을 위임하는 계층
- 비즈니스 논리 계층 (Business logic layer) - 도메인 계층 (Domain layer) 이라고도 함
- 업무개념 및 업무상황, 업무규칙을 표현/상태 제어 등 계층
- 서비스/시스템의 핵심 로직
- 유효성 검사 및 계산을 포함하는 Business 논리 계층
- 애플리케이션이 수행해야하는 도메인과 관련된 작업들을 담당한다.
- 입력/저장된 데이터를 기반으로 계산
- Presentation 계층에서 받은 데이터의 유효성 (Validation) 검사
- 어떤 Data Access 를 선택할지 결정
- 데이터 접근 계층 (Data access layer) - 영속 계층 (Persistence layer) 이라고도 함
- 상위 계층을 지원화는 일반화된 기술적 기능 지원 계층
- DAO 계층
- Database / Message Queue / 외부 API와의 통신 등 처리
- 데이터베이스 또는 원격 서비스에서 영구 데이터를 관리하는 방법을 분류하는 데이터 접근 계층
활용
- 일반적인 데스크톱 애플리케이션
- E-commerce 웹 애플리케이션
출처
소프트웨어 아키텍처 패턴 종류 와 계층화 패턴
아키텍처 패턴(Architectural Pattern) 이란? - 아키텍처 패턴은 Context에서 공통적으로 일어날 수 있는 문제를 해결하는 하나의 해결책. - 소프트웨어 디자인 패턴과는 유사하지만, 좀 더 큰 개념을
mm4mm.tistory.com
반응형
'백엔드 > 아키텍쳐 패턴' 카테고리의 다른 글
마스터-슬레이브 패턴 (0) | 2023.04.07 |
---|---|
클라이언트-서버 패턴 (0) | 2022.10.18 |
아키텍쳐 패턴이란? (0) | 2022.09.02 |
Spring Framework - 3계층 : Controller, Service, Repository (0) | 2022.02.17 |
Spring Framwork - MVC 패턴 (0) | 2022.02.17 |