devlog_owen
231207 TIL) 3-Layered Architecture 란? 본문
3-Layered Architecture 란?
3-Layered Architecture는 소프트웨어 시스템을 세 개의 주요 레이어로 나누어 구조화하는 소프트웨어 설계 아키텍처입니다. 이 아키텍처는 각 레이어가 특정한 역할과 책임을 가지며, 서로 독립적으로 변경 가능하도록 설계되어 있습니다. 주로 데이터 처리, 비즈니스 로직, 사용자 인터페이스를 분리함으로써 시스템의 유지보수성을 향상시키고 확장성을 제공합니다.
각 레이어의 역할과 중요성
프레젠테이션 레이어 (UI Layer):
역할: 사용자와 직접 상호작용하며 시스템의 결과를 표시합니다.
책임: 사용자 인터페이스를 생성하고 사용자의 입력을 처리하는데 중점을 둡니다.
특징: 디자인, 사용자 경험, 화면 표시 등을 다룹니다.
비즈니스 레이어 (Logic Layer):
역할: 비즈니스 로직과 업무 규칙을 포함하여 핵심 비즈니스 기능을 처리합니다.
책임: 데이터 처리, 유효성 검사, 계산 등과 같은 핵심 비즈니스 로직을 수행합니다.
특징: 시스템의 핵심 로직을 다루며, 독립적으로 테스트 및 변경 가능한 모듈로 구성됩니다.
데이터 액세스 레이어 (Persistence Layer):
역할: 데이터베이스나 외부 데이터 소스와의 상호작용을 관리합니다.
책임: 데이터의 검색, 저장, 업데이트, 삭제 등과 같은 데이터 관리 작업을 담당합니다.
특징: 데이터베이스 연동과 관련된 로직을 캡슐화하며, 데이터의 영속성을 보장합니다.
장점
모듈성 및 유연성: 각 레이어는 독립적으로 개발, 테스트, 유지보수가 가능하므로 시스템이 모듈화되고 유연성이 증가합니다.
유지보수성 향상: 각 레이어 간의 분리로 변경이 쉬워지며, 특정 레이어의 수정이 다른 부분에 미치는 영향을 최소화합니다.
재사용성: 각 레이어는 독립적이므로 다른 프로젝트에서 재사용하기 용이합니다.
'TIL' 카테고리의 다른 글
231211 [TIL] Node.js 개인과제 해설영상 후기 (0) | 2023.12.11 |
---|---|
231208 TIL) 알고리즘, 개인프로젝트 (0) | 2023.12.09 |
231207 TIL) JWT 인증이란? (1) | 2023.12.07 |
231205 TIL) 깃허브 기존 소스코드 복사해서 새로운 레파지토리 생성하기 (0) | 2023.12.06 |
231204 TIL)jsonwebtoken, express-session 이란?/수직적 확장/ 수평적 확장이란? (0) | 2023.12.05 |