❓레이어드 아키텍처(Layered Architecture)
복잡한 애플리케이션을 여러 층으로 나눠서 설계하여 개발하는 것.
위와 같이 n개의 계층을 가정할 때 ‘n-레이어드 패턴’이라 함.
📢 표준 레이어드 아키텍쳐 5개 파트
- User interaction layer
화면을 통해 사용자와 상호작용하는 레이어로 애플리케이션에서 가장 눈에 띄는 계층으로 애플리케이션이 어떻게 보여지는지를 결정.
- Functionality layer
Business rules layer를 기반으로 시스템의 기능, 방법 및 절차에 대한 것을 나타내며, 메뉴나 버튼이 어떻게 작동할지와 시스템이 화면을 탐색하는 방법에 대해 결정.
- Business rules layer
전체 애플리케이션의 동작에 대해 결정하는 계층.
- Application core layer
메인 프로그램과 코드 정의, 애플리케이션의 기본 기능을 포함한 계층.
- Database layer
테이블, 인덱스, 애플리케이션에 의해 관리되는 데이터들을 포함하는 계층.
📢 레이어드 아키텍처 장점
각 레이어들은 자율적이다.
📢 레이어드 아키텍처 단점
유지 보수 시 변경되는 것에 대한 분석이 필요하며 유지 보수가 어렵다.
📢 레이어드 아키텍처 예시
- Gmail 서비스
모든 메세지를 처리하는 내부 버전을 개발하여 여러 언어로 동작하는 외부 유저 인터페이스를 개발.
- Gmail Application의 여러 계층
1) 모든 처리를 담당하는 내부 레이어
2) 사용자가 사용하는 언어로 소통하는 외부 레이어
3) 사용자의 이메일 메세지가 저장되어 있는 데이터베이스와 상호작용하는 또 다른 레이어