250x250
Notice
Recent Posts
Recent Comments
Link
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

devlog_owen

231207 TIL) 3-Layered Architecture 란? 본문

TIL

231207 TIL) 3-Layered Architecture 란?

developer_owen 2023. 12. 8. 02:39
728x90

3-Layered Architecture 란?

3-Layered Architecture는 소프트웨어 시스템을 세 개의 주요 레이어로 나누어 구조화하는 소프트웨어 설계 아키텍처입니다. 이 아키텍처는 각 레이어가 특정한 역할과 책임을 가지며, 서로 독립적으로 변경 가능하도록 설계되어 있습니다. 주로 데이터 처리, 비즈니스 로직, 사용자 인터페이스를 분리함으로써 시스템의 유지보수성을 향상시키고 확장성을 제공합니다.


각 레이어의 역할과 중요성

 

프레젠테이션 레이어 (UI Layer):

역할: 사용자와 직접 상호작용하며 시스템의 결과를 표시합니다.
책임: 사용자 인터페이스를 생성하고 사용자의 입력을 처리하는데 중점을 둡니다.
특징: 디자인, 사용자 경험, 화면 표시 등을 다룹니다.

비즈니스 레이어 (Logic Layer): 

역할: 비즈니스 로직과 업무 규칙을 포함하여 핵심 비즈니스 기능을 처리합니다.
책임: 데이터 처리, 유효성 검사, 계산 등과 같은 핵심 비즈니스 로직을 수행합니다.
특징: 시스템의 핵심 로직을 다루며, 독립적으로 테스트 및 변경 가능한 모듈로 구성됩니다.

데이터 액세스 레이어 (Persistence Layer): 

역할: 데이터베이스나 외부 데이터 소스와의 상호작용을 관리합니다.
책임: 
데이터의 검색, 저장, 업데이트, 삭제 등과 같은 데이터 관리 작업을 담당합니다.
특징:
 데이터베이스 연동과 관련된 로직을 캡슐화하며, 데이터의 영속성을 보장합니다.


장점 

모듈성 및 유연성: 각 레이어는 독립적으로 개발, 테스트, 유지보수가 가능하므로 시스템이 모듈화되고 유연성이 증가합니다.
유지보수성 향상: 각 레이어 간의 분리로 변경이 쉬워지며, 특정 레이어의 수정이 다른 부분에 미치는 영향을 최소화합니다.
재사용성: 각 레이어는 독립적이므로 다른 프로젝트에서 재사용하기 용이합니다.

 

728x90